安卓開發基礎篇——Anroid四大組件之Activity

隔段時間回頭鞏固下基礎,會有很大的提升,今天回顧下Activity生命週期

先上最經典的一張生命週期圖:


一、Activity生命週期包括七個過程:

onCreate :Activity創建時第一個被調用;

onStart :Activity界面顯示出來後被調用;

onResume:Acitivity與用戶可以交互式時被調用;

onPause:Activity暫停時被調用;

onStop:Activity停滯時被調用;

onRestart:Activity從停滯狀態又回到前臺是調用;

onDestory:Acitivity銷燬時被調用。

二、下面根據流程圖看看這七個過程是如何走的:

1、Activity啓動:先調用onCreate,再調用onStart,最後調用onResume,Activity進入運行狀態;

2、Activity被同一應用的其他Activity覆蓋或者手機鎖屏:調用onPause進入暫停狀態;

3、Activity從被覆蓋狀態回到前臺或者手機解屏:調用onResme再次進入運行狀態;

4、Activity轉到其他應用的Activity界面或者用戶按鍵home:自身退居後臺,調用onPause,再調用onStop,進入停滯狀態;

5、又退回到該Activity:調用onRestart,再調用onStart,最後調用onResume,進入運行狀態;

6:暫停狀態(第2步)和停滯狀態(第4步),如果系統內存不夠,Activity就被殺死,用戶回退到Activity,等於重新啓動Activity;

7;用戶退出Activity,調用onPause,再調用onStop,最後調用onDestory,結束運行。

三、七個過程也就是七個調用方法,再實際開發中,那些功能再那個方法中實現,我想是大家最關心的,下面根據自己開發項目,談談實際應用,不恰當之處可以留言

1、Activity的theme主題設置、沉浸式狀態欄、加載佈局、數據初始化,接收Intent意圖信息,放在onCreate中;

2、註冊動態廣播,註冊放在onResume,註銷放在onPause,爲什麼選擇這兩個方法,主要考慮到節省內存開支,Activity要進入運行狀體,肯定調用onResume,所以在這一步實現動態廣播的註冊;不管Activity被銷燬、暫停、還是停滯,必調用onPause,這一步立馬註銷掉廣播;

3、應用退出自動保存數據放在onDestroy和onCreate中;

4、應用最小化暫停的操作,比如視頻播放器,放在onStop和onStart中;

5、遊戲的暫停開始,放在onPause和onResume中。

接下來幾篇博客來回顧Service,着重講解startService和bindService、IntentService

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