从活动中调用finish()会释放我的记忆空间吗?

时间:2011-05-23 04:33:54

标签: android memory-management

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

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

非常感谢任何帮助..

3 个答案:

答案 0 :(得分:7)

请在您的活动中尝试此操作并检查..

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

答案 1 :(得分:4)

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

答案 2 :(得分:0)

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

相关问题