即使应用程序被杀,我们也可以获得内存泄漏吗?

时间:2015-04-28 14:58:00

标签: java android android-activity memory-leaks

我无法理解Activity.onStop()中的这句话:

  

当您的活动收到对onStop()方法的调用时,它没有   更长时间可见,应释放几乎所有不属于的资源   在用户不使用它时需要。一旦您的活动停止,   如果需要恢复系统,系统可能会销毁该实例   记忆。在极端情况下,系统可能会简单地杀死您的应用   进程没有调用活动的最终onDestroy()回调,所以   使用onStop()释放可能泄漏的资源非常重要   存储器中。

特别是这部分:

  

在极端情况下,系统可能会简单地杀死您的应用程序进程   没有调用活动的最终onDestroy()回调,所以它   重要的是你使用onStop()来释放可能泄漏内存的资源

如果我们在onStop中没有发布代码,如果进程被终止,我们怎么会出现内存泄漏?在app杀死所有资源都清理好了吗?

2 个答案:

答案 0 :(得分:6)

  

如果进程被终止,如果我们在onStop中没有发布代码,我们怎么会出现内存泄漏?

你做不到。 Android文档gots问题,哟。

  

在app杀死所有资源都被清理好了吗?

好吧,您的进程已终止,这会消除您的RAM和线程。您需要做的是安排清理绑定到RAM和线程的任何内容。例如,如果用户已将数据输入到您要保留但尚未保留的应用程序中,onStop()是考虑分配线程将该内容保存到磁盘的候选时间。

答案 1 :(得分:0)

如果进程被杀死。所有相关的内存内容都将从系统中删除,因此终止进程不会泄漏内存。