由于Honeycomb和v4 Compatibility Library,所以可以使用AsyncTaskLoader。据我所知,AsyncTaskLoader可以通过屏幕翻转等配置变化存活下来。
是否建议使用AsyncTaskLoader而不是AsyncTask?LoaderManager也参与其中了吗?
但是我还没有找到任何关于如何正确使用AsyncTaskLoader的好例子。这些文档也没有提供任何示例。有谁能提供一些好的例子。
发布于 2011-08-19 22:10:51
您可以查看兼容性库的源代码以获取更多信息。FragmentActivity的作用是:
通过在Activity中调用LoaderManager's
initLoader()列表以确保翻转电话(或发生其他配置更改)时不会销毁这些实例您需要使用LoaderManager与加载器进行交互,并提供所需的回调来创建加载器并使用它们返回的数据填充视图。
一般来说,这应该比自己管理AsyncTask要容易得多。然而,AsyncTaskLoader并没有很好的文档记录,所以你应该研究文档中的例子和/或模仿CursorLoader来建模。
发布于 2017-01-13 17:37:27
当比较AsyncTaskLoader与AsyncTask时,正如您可能知道的那样,当您旋转设备屏幕时,它可能会破坏并重新创建您的活动,以明确在网络交易进行时让图像旋转您的设备:
AsyncTask将再次作为后台线程重新执行,以前的后台线程处理是冗余的和僵尸的。
AsyncTaskLoader将根据以前在加载程序管理器中注册的加载程序ID进行重用,因此避免重新执行网络事务。
总之,AsyncTaskLoader可防止后台线程重复,并消除僵尸活动的重复。
发布于 2016-09-27 21:47:24
AsyncTaskLoader执行与AsyncTask相同的功能,但更好一些。它可以更容易地处理活动配置更改,并且它在片段和活动的生命周期内运行。好的一点是,在使用AsyncTask的任何情况下,都可以使用AsyncTaskLoader。任何时候需要将数据加载到内存中以供活动/片段处理时,AsyncTaskLoader可以更好地完成这项工作。
不过,使用AsyncTasks有几个问题:
https://stackoverflow.com/questions/7120813
复制相似问题