请看 LoaderCustomSupport(使用AsyncTaskLoader)和FragmentRetainInstanceSupport(使用Thread,几乎等同于AsyncTask)。
这两个示例具有以下相似之处。
- 在加载数据时,都不会阻塞UI线程
- 当用户执行配置更改(如屏幕旋转)时,数据获取线程不会被销毁。
- 当数据获取线程完成数据获取时,它可以更新到正确的Fragment UI。
然而,它们也有一些区别。
AsyncTaskLoader
- 似乎没有简单的方法将中间进度更新到进度条对话框中
AsyncTask
- 不确定。但是Android文档似乎推荐使用AsyncTaskLoader来进行异步数据加载和更新最终结果到UI?
是否有任何指南或清单可以查看,以决定选择AsyncTaskLoader还是AsyncTask来执行耗时的加载任务并将结果更新到Fragment的UI?