我怎么知道我的申请被关闭了?

时间:2012-10-09 21:46:16

标签: android

我想找到一种方法来确定我的应用程序是否被操作系统关闭/销毁(无论正确的术语是什么)。我在Android onCreate()类中找到了Application方法,但没有onDestroy()或等效方法。 (Application Documentation

虽然活动生命周期通常已足够,但我有足够的时间来释放资源并需要在多个活动中使用。在活动的任何结束生命周期调用(onPauseonStoponDestroy)上处理这些资源将是昂贵且不切实际的。

(为了澄清,我不想以编程方式关闭我的Android应用程序。我已经找到了大量文档和SO问题。我对Activity生命周期也不感兴趣。)我不关心控制何时我的应用程序关闭,但我想在这样做的时候抬头。

2 个答案:

答案 0 :(得分:2)

  

我想找到一种方法来确定我的应用程序是否被操作系统关闭/销毁(无论正确的术语是什么)。

抱歉,但这不会发生。正如WebnetMobile.com在他的评论中指出的那样,您的应用程序被Android终止了该过程而被破坏,并且您没有被告知此事实。

  

我有资源需要时间来释放

由于您选择不解释这些“资源”是什么以及为什么“花时间自由”,所以任何人都很难协助您制定替代计划。

答案 1 :(得分:1)

我建议使用一个功能(让我们称之为killMyApp),以及当前正在运行的活动的全局计数(actCount)。在每个onCreate中,增加actCount。在每个onDestroy中,递减actCount然后,如果actCount == 0,则调用killMyApp,它将清理所有剩余的东西。