【发布时间】:2011-06-29 07:40:52
【问题描述】:
为什么子活动结束后内存大小没有减少?
我有两个活动:first_activity 和 second_activity
first_activity中有一个按钮。
内存使用量为:3 MB
int usedMemory= (int)(Debug.getNativeHeapAllocatedSize() / 1048576L);
当我单击此按钮时,它将启动第二个活动。
Intent intent = new Intent(getBaseContext(),second_activity.class);
startActivityForResult(intent, 1);
目前内存使用量为:3 MB
在第二个活动中,我通过 ViewFlipper 显示 8 张图像。
然后内存使用量增加到 17 MB。 在按下返回键时,我正在完成 second_activity。
@Override
public void onBackPressed()
{
setResult(1);
finish();
System.gc();
super.onBackPressed();
}
当我从 second_activity 回到 first_activity 时,它的内存使用量再次显示为 17 MB。为什么没有释放 second_activity 的内存?
如果我再次尝试导航到 second_activity,应用程序将因 OutOfMemoryError 而强制关闭。
我不知道我的问题是否愚蠢,但我正面临这个问题,我无法解决。
【问题讨论】: