Activity生命週期

 簡介:

  Android中Activity一共有七個與生命週期有關的函數(具體函數能在下面的週期圖中看到),其中onCreate()函數是在程序第一次執行時纔會調用的,一般只要程序沒有調用

onDestory()函數,onCreate()都不會調用。onRestart()是在當前的activity再次被調用時執行的,onStart()是在界面顯示出來才執行的之後便會執行onResume()函數進行與用戶

進行交互,當另外一個界面進入當前的界面被暫定將執行onPause(),當前界面看不到的時候就會執行onStop(),當用戶退出界面或者程序被“kill”掉是就執行onDestory()。




注意當資源不夠或者當用戶主動清理內存時,onDestory()可能不會被執行!。

代碼演示:

 下面是兩個Activity,第一個activity有個按鈕可以進入第二個activity,這兩個activity都重寫了七個聲明週期的方法。
  
  重寫:是方法名稱和參數都一樣,子類繼承分類。
  重載:方法的名字一樣參數不同,同一個類。
      

這裏進入第一個界面後點擊進入第二個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。

 源碼下載:

  github 下載
  源碼 下載




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