Android强制停止回调应用程序?

Chr*_*ris 3 java android

如果通过以下步骤强制停止应用程序设置 - >应用程序 - >管理应用程序 - > - >强制停止,android是否会调用活动或应用程序的onDestroy?(如果没有,有没有办法知道应用程序是否因用户触发的强制停止而死亡).

Ale*_*ood 8

强制停止应用程序将终止整个过程(即使用Process.killProcess(int pid)).与应用程序关联的所有资源都将被内核删除并释放.所以不,你无法拦截这一行动.

当您在市场上发布应用程序时,开发人员控制台将为您提供有关强制关闭,崩溃等的统计信息(如果这就是您要求的原因).


Mxy*_*xyk 5

简而言之,不,onDestroy()不被调用,而且你不能这样做。安卓不支持。

更详细的答案...

onDestroy()在这种情况下似乎没有被调用。我通过尝试Toast在调用 super.onDestroy 之前获取它来测试这一点,但该Toast消息从未显示。(根据这篇文章onDestroy()它确实不可靠,并且不会经常在手机上调用(如果有的话),而它可能会在模拟器上调用 - 所以请注意这一点)。相反killProcess(),我们无法拦截它。

此外,根据这篇文章中接受的答案,看来我们甚至无法在用户控制的强制停止后捕获并执行任务。