问题 从一个活动调用finish()会释放我的记忆空间吗?


我的活动在我的应用程序中使用了大量内存。因此,每当用户从该活动切换到其他活动时,我都会尝试调用finish()来停止该活动。

我的问题是,从该活动调用finish()会释放内存空间还是只是完成该活动而不清除该特定活动使用的内存?

任何帮助深表感谢..


4277
2018-05-23 04:33


起源



答案:


你正在打电话的活动 finish() 方法from被销毁,其所有资源都排队等待垃圾收集,因为对此活动的引用变得不可访问。因此,此活动使用的所有内存将在下一个GC周期中释放。


4
2018-05-23 05:18





请在您的活动中尝试这一点并检查..

@Override
public void onDestroy() {
    super.onDestroy();
    Runtime.getRuntime().gc();      
}

6
2017-09-11 12:54





是的pixie,关于finish()是正确的,只是有关调用活动完成的更多信息,从堆栈中删除该活动。这意味着从活动1 - >活动2遍历并调用活动2,如果在活动1中调用了finish(),则活动1将从堆栈中删除。


0
2018-05-23 05:45