1. 程式人生 > >兩個Activity跳轉時 生命週期函式的變化

兩個Activity跳轉時 生命週期函式的變化

Activity 的生命週期:

生命週期函式呼叫時機
onCreate 在Activity物件被第一次建立時呼叫
onStart當Activity 變得可見是呼叫該函式
onResume當Activity開始準備與使用者互動時呼叫該方法
onPause當系統即將啟動另外一個Activity之前呼叫該方法
onStop當前Activity變得不可見時呼叫該方法
onDestroy當前Activity被銷燬之前將會呼叫該方法
onRestart當一個Activity再次啟動之前將會呼叫該方法

兩個Activity間的切換跳轉時,生命週期函式的變化

ActivityA 與ActivityB之間進行切換時,ActivityA作為預設的啟動頁面。ActivityA中的佈局檔案就一個跳轉按鈕,點選跳轉到ActivityB,ActivityB的佈局檔案也是隻有一個返回按鈕,點選返回到ActivityA中。
在生命週期函式中打上Log,就可以清楚地看到執行是生命週期函式變化過程。

當啟動執行程式時,過程如下:



MainActivityA:onCreate     —>在ActivityA物件被第一次建立時
MainActivityA:onStart        —>ActivityA變得可見
MainActivityA:onResume   —>開始準備與使用者互動時呼叫
此時點選ActivityA中的按鈕時:

MainActivityA:onPause      —>即將啟動另外一個ActivitB之前
OtherActivityB:onCreate    —>在ActivityB物件被第一次建立時
OtherActivityB:onStart       —>ActivityB變得可見
OtherActivityB:onResume  —>開始準備與使用者互動時呼叫
MainActivityA:onStop        —>當前ActivityA變得不可見時
點選ActivityB中的返回按鈕時 :

OtherActivityB:onPause     —>即將啟動另外一個ActivitB之前
MainActivityA:onRestart    —>ActivityA再次啟動之前
MainActivityA:onStart        —>ActivityA變得可見
MainActivityA:onResume   —>開始準備與使用者互動時呼叫
OtherActivityB:onStop       —>當前ActivityB變得不可見時
OtherActivityB:onDestroy  —>當前ActivityB被銷燬之前
MainActivityA:onStop        —>當前ActivityB變得不可見時
MainActivityA:onDestroy   —>當前ActivityB被銷燬之前