首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AsyncTaskLoader能取代AsyncTask吗?

AsyncTaskLoader能取代AsyncTask吗?
EN

Stack Overflow用户
提问于 2016-10-03 17:32:53
回答 1查看 724关注 0票数 0

我觉得AsyncTaskLoader基本上是一个更好的AsyncTask,尽管我并不完全确定是否应该用AsyncTaskLoader替换我的AsyncTask实现。

让我困惑的是,Loader这个名字暗示它应该用于加载数据。

如果我想要编写数据(例如,写入File )或执行任何其他后台操作(即没有加载),该怎么办?

Loader是否适用于我通常使用AsyncTask的任何后台操作?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-03 17:42:40

装载机是用来装载数据的,是的。他们填补的漏洞是,当您调用LoaderManager#init()时,您可以在配置更改时“重新连接”到它。这样做的目的是,

  1. 如果装载机尚未启动,它将启动装载机。
  2. 如果Loader已经启动但尚未完成,它将将回调连接到Loader,并在加载数据时为回调提供数据。
  3. 如果加载程序已经启动并完成,它将不会启动加载程序并将加载的信息传递给回调。

这就意味着,如果用户把手机放在口袋里,而手机只是一次又一次地旋转,你就不会开始上百项加载任务来获取一片数据。

你不会真的关心那些单独的,出站的任务,这些都是被遗忘的。您也可能不希望这种情况发生,因为您可能希望执行所有的文件写入,除非每次重新启动加载程序,否则不会是这种情况。在这种情况下,你就是在挫败装载机的目的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39837244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档