從一個Activity調轉到另一個Activity時Activity的生命週期

從Activity A跳到Activity B時:
1、如果B完全覆蓋A,則會調用A的onPause方法,接着調用B的onCreate,onStart,onResume方法,最後調用A的onStop方法,按返回鍵時會調用B的onPause方法,接着會調用A的onRestart,onStart,onResume方法,最後調用B的onStop,onDestory方法。
2、如果B沒有完全覆蓋A(如B是對話框風格的Activity)或B是透明的Activity,則會調用A的onPause方法,接着調用B的onCreate,onStart,onResume方法,按返回鍵時會調用B的onPause方法,接着會調用A的onResume方法,最後調用B的onStop,onDestory方法。

切屏時:
代碼切屏:setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE),快捷鍵切屏:Ctr+F12
1、不設置Activity的android:configChanges時,ctr+F12和代碼切屏會重新調用各個生命週期一次。
2、設置Activity的android:configChanges="orientation"時,按ctr+F12切屏還是會重新調用各個生命週期,切橫、豎屏時只會執行一次,不執行onConfigurationChanged方法,在代碼中切屏時只執行onConfigurationChanged方法。
3、設置Activity的android:configChanges="orientation|keyboardHidden"時,ctr+F12和代碼切屏不會重新調用各個生命週期,只會執行onConfigurationChanged方法

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