2

当我的 android 应用程序进入后台时,它可能会被系统关闭以回收资源。我可以检测到这一刻并运行一些代码吗?发生时是否有任何通知(调用方法)?

4

3 回答 3

2

正确答案是“否”。当 Android 想要关闭您的应用程序以回收资源时,它只会杀死您的进程。就是这样。没有警告,没有回调,根本没有机会做任何事情。

于 2012-08-28T15:51:14.057 回答
1

尝试从本机 (NDK/JNI) 库中捕获 SIGKILL。但是您几乎无法在信号处理代码中做任何有价值的事情;绝对不会回调到 Java 世界。信号处理程序受到 *nix 规则的严重限制。

你首先想要完成什么?所有合理的清理通常在活动终止代码 ( onDestroy()) 中执行。在大多数使用场景下,进程生命周期不应该是您关心的问题,因为它被明确记录为不可预测的。

于 2012-08-28T16:13:45.497 回答
0

的实现onDestroy()方法Activity

请参阅活动生命周期

于 2012-08-28T15:38:31.657 回答