活動(Activity)的生命週期

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( ),在停止狀態變爲運行狀態之前調用,也就是活動重新啓動了。

活動生命的示意圖如下:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章