Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Android上执行文件I/O-它属于哪个线程_Android_File Io_Android Strictmode - Fatal编程技术网

在Android上执行文件I/O-它属于哪个线程

在Android上执行文件I/O-它属于哪个线程,android,file-io,android-strictmode,Android,File Io,Android Strictmode,读完布拉德·菲茨帕特里克的《StrictMode》后,我还有几个问题要问 文件I/O在我的应用程序中属于哪里?我知道UI线程是错误的,但是产生一个新线程会更糟糕吗 如果我应该使用线程进行磁盘访问,那么我的应用程序应该如何处理实现?是否向异步任务发送参数?共享变量?我想优化内存使用,不仅仅是响应能力,尤其是因为我的手机没有任何明显的差异 @Brad,如果你读到这篇文章:我希望有一篇博客文章,里面有一些示例或链接,指向aosp源代码中的一些地方,这些地方是在框架中完成的 谢谢大家 不要担心线程。启动

读完布拉德·菲茨帕特里克的《StrictMode》后,我还有几个问题要问

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

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

@Brad,如果你读到这篇文章:我希望有一篇博客文章,里面有一些示例或链接,指向aosp源代码中的一些地方,这些地方是在框架中完成的


谢谢大家

不要担心线程。启动新线程比启动磁盘快。在NexusOne,IIRC上,创建新线程并在循环中启动它们大约需要1毫秒


使用最适合您的应用程序的工具:AsyncTask、IntentService或具有适当锁的共享状态的新线程!。如果用户切换到别处,AsyncTask可以保证继续运行,但是使用起来更容易一些,并且在完成后会将您弹出到UI线程。IntentService将继续运行并完成,但不会帮助您返回UI线程并返回结果。您需要将结果(如果有的话)发送到UI线程上的处理程序。

不要担心线程。启动新线程比启动磁盘快。在NexusOne,IIRC上,创建新线程并在循环中启动它们大约需要1毫秒


使用最适合您的应用程序的工具:AsyncTask、IntentService或具有适当锁的共享状态的新线程!。如果用户切换到别处,AsyncTask可以保证继续运行,但是使用起来更容易一些,并且在完成后会将您弹出到UI线程。IntentService将继续运行并完成,但不会帮助您返回UI线程并返回结果。您需要将结果(如果有的话)发送到UI线程上的处理程序。

您的意思是说异步任务不能保证继续运行吗?谢谢您提供的信息,框架中有没有在froyo和gingerbread之间优化的特定点?你的意思是说AsyncTask不能保证继续运行?感谢Brad提供的信息,框架中有没有在froyo和gingerbread之间优化的特定点?