咱們來看一下這一張經典的生命週期流程圖:ide
1.啓動Activity:系統會先調用onCreate方法,而後調用onStart方法,最後調用onResume,Activity進入運行狀態。spa
2.當前Activity被其餘Activity覆蓋其上或被鎖屏,或者有dialog彈出時:系統會調用onPause方法,暫停當前Activity的執行。.net
3.當前Activity由被覆蓋狀態回到前臺或解鎖屏:系統會調用onResume方法,再次進入運行狀態。blog
4.當前Activity轉到新的Activity界面或按Home鍵回到主屏,自身退居後臺:系統會先調用onPause方法,而後調用onStop方法,進入停滯狀態。生命週期
5.用戶後退回到此Activity:系統會先調用onRestart方法,而後調用onStart方法,最後調用onResume方法,再次進入運行狀態。內存
6.當前Activity處於被覆蓋狀態或者後臺不可見狀態,即第2步和第4步,系統內存不足,殺死當前Activity,然後用戶退回當前Activity:再次調用onCreate方法、onStart方法、onResume方法,進入運行狀態。get
7.用戶退出當前Activity:系統先調用onPause方法,而後調用onStop方法,最後調用onDestory方法,結束當前Activity。it
onPause()是有活動狀態變爲非活動狀態,onStop()是變爲不可見io
說得通俗一點就是:onPause就是你看得見,可是沒法操做,onStop就是你看都看不見class
onstart方法調用以後activity對用戶可見,但不必定在最前臺(最前面)
onresume調用以後activity處於最前臺(最前面),能夠跟用戶交互
參考文章: