我需要做出设计决定
从我在android开发者网站上看到的内容,我想我想要实现一个服务,该服务启动AsyncTaskLoader以在后台从OS进程加载数据。
在android开发者网站文档中,它说AsyncTaskLoader可以在Activities和Fragments中使用,但是没有提到Services。
在服务中使用AsyncTaskLoader是不好的做法? 如果是这样,我如何在后台运行的OS进程中收集数据? (注意:即使应用程序被关闭/销毁,我也需要继续收集)
答案 0 :(得分:2)
加载器通常用于相对经常创建和销毁的UI元素,并且需要访问先前查询的对象而无需每次都重新查询。服务不会像活动或片段一样在负载中被销毁,因此生成新线程被认为是在服务后台加载数据的最佳实践。
答案 1 :(得分:1)
加载器真的是for Activities and Fragments,如果你只想要一个好的方法在后台线程中做一些工作,考虑一个IntentService
可能是有意义的。在AsyncTaskLoader
中是否存在看似有用的特定内容?
无论哪种方式,如果您的应用被销毁,您将无法继续收集。如果你的应用程序被销毁,那就不可能做任何工作了。某种Service
绝对是您想要在后台使用的工具。