簡介:
Android中Activity一共有七個與生命週期有關的函數(具體函數能在下面的週期圖中看到),其中onCreate()函數是在程序第一次執行時纔會調用的,一般只要程序沒有調用
onDestory()函數,onCreate()都不會調用。onRestart()是在當前的activity再次被調用時執行的,onStart()是在界面顯示出來才執行的之後便會執行onResume()函數進行與用戶
進行交互,當另外一個界面進入當前的界面被暫定將執行onPause(),當前界面看不到的時候就會執行onStop(),當用戶退出界面或者程序被“kill”掉是就執行onDestory()。
注意當資源不夠或者當用戶主動清理內存時,onDestory()可能不會被執行!。
代碼演示:
這裏進入第一個界面後點擊進入第二個activity後再點擊返回鍵返回第一個activity看看執行的方法都有那些
由此可見當第一個activity啓動後依次開始執行onCreate(),onStart(),onResume(),當點擊按鈕進入第二個activity後,界面1開始暫停繼而界面2開始onCreate、onStart、onResume然後activity1完全看不到了進而執行onStop當點擊返回鍵時界面1重新進入屏幕(這個可以類比當用戶從導航欄選擇進入)時開始執行onRestart然後onStart、onResume界面2退出消失onStop、onDestory這是如果繼續點擊back鍵activity1將調用onDestory
這裏爲什麼會多了onPause、onStop和onRestat是因爲剛剛我手機鎖屏瞭然後重新解鎖就會執行這些,如果你手機自動鎖屏後然後你關機這個時候onPause、onStop和onDestory都不會執行,解鎖ok重新進入界面後點擊back鍵依次執行onPause、onStop最後onDestory。