我正在尝试确定如何在各种Android生命周期条件下(例如启动另一个应用程序,手机进入睡眠状态等)确保我的应用程序的安全。关于我已经引用的内容如何处理内存。我很清楚,如果操作系统需要,我的应用可能随时被杀死,但是个人引用又如何呢?以下是一些示例场景:如果我的应用程序正在运行并且用户接到电话,或者用户启动了另一个应用程序,或者电话进入了睡眠状态。假设我的应用没有被杀死,我可以安全地使用引用吗?还是可以得到随机的空指针?我想这归结为... Android是杀死还是不杀死应用程序,还是会从应用程序中回收一些内存(仍然有有效的引用)而不杀死它?

最佳答案

在大多数情况下,当用户切换到另一个应用或接听电话时,您的应用只会被暂停。返回时,将调用onResume(),并且将继续进行,不会出现任何问题。引用之类的东西应该没问题。但是,建议您取消注册侦听器,然后在onResume()中重新注册它们。

您应始终谨记,您的应用程序也可能随时被杀死,因此请保存您的数据。

关于android - 生命周期的Android内存管理,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4472950/

10-11 22:19
查看更多