and*_*per 6 android android-listview android-asynctask android-loader
我听说有一些新的解决方案可以在后台加载数据,这比AsyncTask(比如加载器)更值得推荐.
AsyncTasks很棒且易于使用.但是,它有一些局限性:
类本身必须进行修改,因为它受到待处理任务数量的限制(约256左右).当然,在listView的适配器中,如果不需要,我总是取消任务(例如,当我需要更新用于其他项目的视图时).
在重新创建活动/片段时,我还必须全部取消它们(或以不同的方式处理).
由于1和2,我需要管理它们并参考所有这些
AsyncTask使用一个任务队列,有时我需要使用堆栈,所以我不得不创建自己的AsyncTask类,而不是使用堆栈.
是否有AsyncTask的替代品?
我知道之前曾在某些帖子中提到这个问题(比如这里),但我在想是否有一种新的通用方法可以在后台加载数据来替换asyncTask.
关于Loaders,我认为这个想法是它们用于数据库和contentProviders,但它们是否也可以用于从Internet上加载(例如)数据(如图像文件)?
还有一个很好的样本由谷歌(这里称为"bitmapFun"),根据我所看到的使用AsyncTask(甚至扩展它,可能是因为我提到的相同的原因).但也许我也错过了一些东西?
是的。
加载器由 AsyncTasks 管理。如果您不使用加载程序,您可能会缺少它们所需的管理。
AsyncTasks(和 Loaders)是获取设备外内容的一种非常糟糕的方式。要从远程服务器获取数据,请考虑使用 IntentService。请参阅:https://www.youtube.com/watch?v =xHXn3Kg2IQE
| 归档时间: |
|
| 查看次数: |
2582 次 |
| 最近记录: |