当我的Android应用程序转到后台时,系统可能会关闭它来回收资源。我可以检测到这一刻并运行一些代码吗?发生时是否有通知(方法调用)?
答案 0 :(得分:2)
正确答案是“不”。当Android想要关闭您的应用程序以回收资源时,它只会杀死您的进程。而已。没有警告,没有回调,没有机会做任何事情。
答案 1 :(得分:1)
尝试从本机(NDK / JNI)库中捕获SIGKILL。但是你将无法在信号处理代码中做任何有价值的事情;绝对不会回调Java世界。信号处理程序受* nix规则的严格限制。
你首先想要完成的是什么?所有明智的清理通常在活动终止代码(onDestroy()
)中执行。在大多数使用场景下,处理生命周期不应该是您的关注点,因为它明确记录为不可预测。
答案 2 :(得分:0)
实施onDestroy()
的{{1}}方法。