2

我需要做出设计决定。
根据我在 android 开发者网站上读到的内容,我想我想实现一个服务,它启动一个 AsyncTaskLoader 以在后台从操作系统进程加载数据。
在 android 开发者网站文档中,它说 AsyncTaskLoader 可以在活动和片段中使用,但没有提到服务。

在服务中使用 AsyncTaskLoader 是一种不好的做法吗?
如果是这样,我如何在后台从正在运行的操作系统进程中收集数据?(注意:即使应用程序关闭/销毁,我也需要继续收集)

4

2 回答 2

2

Loaders一般用于创建和销毁比较频繁的UI元素,需要访问之前查询的对象,而不需要每次都重新查询。Service 不会像 Activity 或 Fragment 那样在负载中被破坏,因此产生一个新线程被认为是在 Service 的后台加载数据的最佳实践。

于 2013-02-11T19:39:58.200 回答
1

加载器确实适用于活动和片段IntentService,如果您只是想要一种在后台线程中做一些工作的好方法,考虑一下可能是有意义的。有什么特定的东西看起来有用AsyncTaskLoader吗?

无论哪种方式,如果您的应用程序被破坏,您将无法继续收集。如果您的应用程序被销毁,它就无法进行任何工作。AService绝对是你想要用来在后台工作的东西。

于 2013-02-11T20:08:20.677 回答