代码之家  ›  专栏  ›  技术社区  ›  Vit Khudenko

Android上最“抗死”的组件是什么?

  •  2
  • Vit Khudenko  · 技术社区  · 14 年前

    我正在寻找最合适的类作为从我的活动调用的异步任务的分派器。

    我想可能是其中之一:

    1. 亚类 应用 ;
    2. 亚类 服务 ;
    3. 我自己的 静止的 东西。

    对我来说,实现第三种选择要简单得多。但问题是,它是否会比服务或应用程序更“抗死亡”?还有一点很有意思的是,什么应用程序或服务会更长寿?我的猜测是,应用程序的生命周期与应用程序(android方面的任务)进程的生命周期一样长。

    所以基本上我需要根据它们的“抗死亡”特性来确定这些选项的范围,因为我想依赖最“静态”的东西。

    更新:

    最初这个问题是在 二千零一十 ,当(1)android是开发人员的新平台和(2)google文档对应用程序组件生命周期和整个应用程序流程生命周期过于模糊(在某些情况下甚至是误导性的)时。

    1 回复  |  直到 7 年前
        1
  •  4
  •   HitOdessit    12 年前

    你一定要用 Service .

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

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