1 相關概念
1.1 返回棧
Android是使用任務(Task)來管理活動的,一個任務就是一組存放在棧裏的活動的集合,這個棧叫做返回棧(Back Stack)。由於棧後進先出的特性,每當我們啓動了一個新的活動,它就會在返回棧中入棧,並處於棧頂的位置;每當我們銷燬一個活動,處於棧頂的活動會出棧,系統總是會顯示處於棧頂的活動給用戶。
1.2 活動的四種狀態
活動在其生命週期中共有4種狀態:
(1)運行狀態:當一個活動處於棧頂時,這個活動就處於運行狀態。
(2)暫停狀態:當一個活動不再處於棧頂,但仍然可見時,這個活動就進入了暫停狀態。
(3)停止狀態:當一個活動不再處於棧頂,並且完全不可見時,這個活動就進入了停止狀態。這個時候系統只會保存相應的狀態和成員變量。
(4)銷燬狀態:當一個活動從返回棧中移除後,這個活動就變成了銷燬狀態。系統會更傾向於回收這種狀態的活動,以保證手機的內存充足。
2 活動的生存期
Activity類中定義了7個回調方法,覆蓋了活動生命週期的每一個環節:
(1)onCreate( ),每個活動中都要重寫這個方法,在活動第一個被創建時調用。在這個方法中完成活動的初始化操作,比如說加載佈局、綁定事件等。
(2)onStart( ),這個方法由不可見變爲可見時調用。
(3)onResume( ),這個方法在活動準備好與用戶進行交互時調用。此時活動位於棧頂,並處於運行狀態。
(4)onPause( ),在活動準備啓動或恢復另一個活動時調用。
(5)onStop( ),在活動完全不可見時調用。
(6)onDestroy( ),在活動被銷燬之前調用,調用之後活動的狀態變爲銷燬狀態。
(7)onRestart( ),在停止狀態變爲運行狀態之前調用,也就是活動重新啓動了。
活動生命的示意圖如下: