2017/05/18

Android Activity Lifecycle

OnCreate:當Activity對象第一次被創建時調用
OnStart:當Activity變得可見時調用
OnResume:當Activity準備跟用戶互動時調用
OnPause:當Activity準備啟動另外一個Activity之前調用
OnStop:當前Activity變得不可見時調用
OnDestroy:當前Activity被銷毀之前調用
OnReStart:當Activity再次啟動之前調用


圖片來源:https://developer.android.com/guide/components/images/activity_lifecycle.png


一個Activity的狀態可能包含
Resumed:Activity處於正常的運行狀態
Paused:另一個Activity位於前端,但當前的Activity仍然可見
(譬如開啟一個未佔滿整個螢幕的對話框)
Stopped:另一個Activity位於前端,完全遮住當前的Activity

譬如寫一個Activity A,裡頭有一個按鈕,若點擊按鈕將
開啟另一個Activity B

當A被執行時:執行A.OnCreate→A.OnStart→A.OnResume

在A點擊按鈕:執行A.OnPause→B.OnCreate→B.OnStart
→B.OnResume→A.OnStop

開啟B點擊返回鍵:執行B.OnPause→A.OnReStart→A.OnStart
→A.OnResume→B.OnStop→B.OnDestroy