我們來看一下這一張經典的生命週期流程圖:
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