阅读布拉德·菲茨帕特里克(Brad Fitzpatrick)之后 文章 在《严格模式》上,我有几个问题。

文件I/O在我的应用中属于哪里? (我知道UI线程是错误的,但是产卵的新线程会更糟吗?)

如果我应该使用线程进行磁盘访问,那么我的应用程序应该如何处理实现?将参数发送到异步?共享变量?我还想优化内存使用情况,不仅是响应能力(尤其是因为我的手机没有任何明显的差异)

@brad如果您阅读本文:我会喜欢一篇博客文章,其中包含样本(或链接到AOSP来源中的链接),在框架中完成此操作。

感谢大家!

有帮助吗?

解决方案

不必担心线程。启动新线程比磁盘快。在Nexus One上,IIRC创建新线程并以循环启动它们是〜1 ms。

使用最适合您的应用程序的任何内容:异步,intentService或具有共享状态的新线程(带有适当的锁!)。如果用户切换了,则可以保证一个异步性继续运行,但使用易于使用,并在完成后将您弹出回到UI线程。 IntentService将继续运行和完成,但并不能帮助您回到UI线程。您需要将结果(如果有)发送到UI线程上的处理程序。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top