以下是FirstActivity啟動SecondActivity的log
FirstActivity SecondActivity
FirstActivity #onCreat
FirstActivity #onStart
FirstActivity #onResume
FirstActivity #onPause
SecondActivity#onCreat
SecondActivity#onStart
SecondActivity#onResume
FirstActivity #onStop
在看了其他博客之后總結(jié)的兩個問題:
問題1:為什么在FirstActivity啟動另一個SecondActivity時,會先調(diào)用當(dāng)前的FirstActivity#onPause方法呢陪蜻?
舉實際例子說明:FirstActivity是正在播放音樂的Activity,但是現(xiàn)在有號碼撥入滋将,所以會啟動來電的SecondActivity,若是當(dāng)前FirstActivity沒有調(diào)用onPause方法去暫停音樂的話症昏,那么來電SecondActivity已經(jīng)顯示了但是FirstActivity仍然播放音樂就顯然不合理了。
問題2:為什么在當(dāng)前FirstActivity啟動另一個SecondActivity時肝谭,當(dāng)前的FirstActivity#onStop方法為什么會在第二個SecondActivity#onResume之后才調(diào)用呢?
舉實際例子說明:若是FirstActivity的onStop方法在SecondActivity#onCreate方法前調(diào)用魏滚,當(dāng)啟動的SecondActivity這個過程由于某種原因?qū)е聸]有啟動成功,那么回退到FirstActivity時就有可能黑屏,所以FirstActivity#onStop方法應(yīng)該在SecondActivity成功啟動后才去調(diào)用鼠次。