2

我正在寻找最合适的类作为从我的活动调用的 AsyncTasks 的调度程序。

我认为它可能是其中之一:

  1. 应用程序的子类;
  2. 服务的子类;
  3. 我自己的静态东西。

至于我 - 实施第三个选择更简单。但问题是它会比服务或应用程序更“抗死”吗?此外,什么会活得更久也很有趣——应用程序还是服务?我的猜测是,只要应用程序(Android 中的任务)进程存在,应用程序就会存在。

所以基本上我需要根据它们的“抗死亡”质量来划分这些选项,因为我想依赖最“静态”的东西。

更新:

最初这个问题是在2010年提出的,当时 (1) Android 是开发人员的新平台,并且 (2) Google 文档对应用程序组件生命周期和整个应用程序流程生命周期过于含糊(在某些情况下甚至具有误导性) .

4

1 回答 1

4

您绝对应该使用Service

这背后的主要原因 -Service有它自己记录的生命周期,而应用程序没有。Application实例,就像你的任何静态变量一样,几乎可以在任何时候被系统杀死,你不会收到任何回调,也不能停止这个过程。因此,任何未保存的数据(所有静态变量)都将丢失。

另一方面,Service不能被系统静默杀死,至少onDestroy()要先调用方法。有了这样的回调,您可以将您的状态保存到一些持久内存(如 SharedPreferences、文件、数据库等),并在您的应用程序或服务启动时恢复该状态。

于 2012-09-28T13:02:23.973 回答