2012-07-04 41 views
1

当我开始一个新的活动时,我是否需要明确地完成当前的活动,或者安卓是否照顾这个?我是否需要明确地完成Android中的活动?

这是我在一个活动写来启动活动B:

Intent intent = new Intent(this, BActivity.class); 
startActivity(intent); 

我应该通过调用下一行上述两行之后结束阿?

this.finish() 
+1

如果活动完成,用户是不太可能回到它应该调用finish()来释放这个活动使用的资源。减少内存浪费意味着更好的应用程序。 – Sam

回答

7

一般不,你不应该。

区别将是如果你调用完成在活动A,当用户在活动B,如果他们按后退按钮,他们将回到不管他们打开你的应用程序之前做的事情。如果你不是不叫在活动一结束,他们将回到活动A

如果DO呼叫处理:

Activity A -> Activity B -> [user press back] -> Homescreen (or whatever activity is on the stack below activity A) 

如果你DO NOT呼叫处理:

Activity A -> Activity B -> [user press back] -> Activity A 
1
explicitly finish the current activity or does android take care this ? 

这取决于你的需求,如果你想要一个活动,而回来的形式b活动依然存在,所以你不必调用完成,但如果回来时,活动形式B,则你应该叫你完成不希望活性的....

1

不,它不是强制性的。

finish() 

完成方法状态“当你的活动完成,应关闭调用它。该ActivityResult传播回谁通过onActivityResult()你推出。”

参考链接>>link

相关问题