android.app.Application子类,onTerminate未被调用

syn*_*nic 12 android

从以下文档android.app.Application:

需要维护全局应用程序状态的基类.

我正在使用自己的子类来维护我用来查询服务器的对象.还来自文档:

onTerminate() 应用程序停止时调用.

但是,onTerminate()我的班级从未被调用过.我在查看主要活动时按下后退按钮,一切似乎都关闭了.我的主要活动的onDestroy()方法被调用并isFinishing()返回true,但我android.app.ApplicationonTerminate()方法永远不会被调用.

为什么是这样?我错过了什么?有什么东西让它保持开放吗?

Mor*_*itz 17

这可能与以下事实有关:虽然您退出应用程序,但它的进程仍在后台运行,因此重新启动应用程序将使用相同的进程.

此外,javadocs声明不依赖onTerminate代码进行调用.

注意:永远不要依赖于这种被调用的方法; 在许多情况下,不需要的应用程序进程将被内核简单地杀死而不执行任何应用程序代码.

  • 请注意,文档已更新为更明确:此fn永远不会在生产Android设备上调用. (12认同)