在呼叫另一个活动之后,是否可以通过完成活动来释放内存?

时间:2010-02-25 18:24:15

标签: android

希望标题不要混淆,但我的意思是以下内容:

让我们说活动A通过调用来启动活动B:

Intent myIntent = new Intent(Activity_A.this, Activity_B.class);
Activity_A.this.startActivity(myIntent);

我可以在Activity_B开始后通过完成Activity_A来保存/释放一些内存(如果可能的话)。也许通过以下内容:

Intent myIntent = new Intent(Activity_A.this, Activity_B.class);
Activity_A.this.startActivity(myIntent);
Activity_A.finish();

或者Acitivty_A会调用startActivity()并等待Activity_B在调用finish()之前完成吗?

然后想法是当用户以Activity_B结束时,它只会重新启动Acitivity_A(并以类似的方式完成自身)?这会产生太多的开销吗?感谢您的回答,如果此帖子的格式不正确,我深表歉意。

2 个答案:

答案 0 :(得分:1)

你要做的是平台的工作。你不应该真的关心这样的优化。
不过,如果你这样做,这将很好地工作:

Intent intent = new Intent(this, OtherActivity.class);
startActivity(intent);
finish(); // finishes this

答案 1 :(得分:0)

这不一定会节省任何内存,我也不会立即确定是否有任何方法可以做到这一点。当您从一个活动转到另一个活动时,第一个活动将关闭并且其状态将被捆绑。那时候它已经不再开放了。