2012-07-04 40 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

相關問題