我們來看一下這一張經典的生命周期流程圖:
1.啟動Activity:系統會先調用onCreate方法,然後調用onStart方法,最後調用onResume,Activity進入運作狀态。
2.目前Activity被其他Activity覆寫其上或被鎖屏,或者有dialog彈出時:系統會調用onPause方法,暫停目前Activity的執行。
3.目前Activity由被覆寫狀态回到前台或解鎖屏:系統會調用onResume方法,再次進入運作狀态。
4.目前Activity轉到新的Activity界面或按Home鍵回到主屏,自身退居背景:系統會先調用onPause方法,然後調用onStop方法,進入停滞狀态。
5.使用者後退回到此Activity:系統會先調用onRestart方法,然後調用onStart方法,最後調用onResume方法,再次進入運作狀态。
6.目前Activity處于被覆寫狀态或者背景不可見狀态,即第2步和第4步,系統記憶體不足,殺死目前Activity,而後使用者退回目前Activity:再次調用onCreate方法、onStart方法、onResume方法,進入運作狀态。
7.使用者退出目前Activity:系統先調用onPause方法,然後調用onStop方法,最後調用onDestory方法,結束目前Activity。
onPause()是有活動狀态變為非活動狀态,onStop()是變為不可見
說得通俗一點就是:onPause就是你看得見,但是無法操作,onStop就是你看都看不見
onstart方法調用之後activity對使用者可見,但不一定在最前台(最前面)
onresume調用之後activity處于最前台(最前面),可以跟使用者互動
參考文章:
http://blog.csdn.net/liuhe688/article/details/6733407