橫豎屏切換時(shí)Activity的生命周期

橫豎屏切換時(shí)Activity的生命周期

不設(shè)置android:configChanges

切換為橫屏:


8d646bb3-be3b-4216-9c2d-fbc1a5ad2fe8.png

onPause:
onSaveInstanceState:
onStop:
onDestroy:
onCreate:
onStart:
onRestoreInstanceState:
onResume:


切換為豎屏(生命周期同上)

68591f47-6457-4960-bbfb-ebb4b270b911.png

onPause:
onSaveInstanceState:
onStop:
onDestroy:
onCreate:
onStart:
onRestoreInstanceState:
onResume:


清單文件中單獨(dú)設(shè)置:
android:configChanges="orientation"

效果還跟上面一樣


清單文件中設(shè)置:
android:configChanges="orientation|keyboardHidden"

android:configChanges="keyboardHidden|screenSize"

效果還跟上面一樣


清單文件中設(shè)置:

android:configChanges="orientation|screenSize"

android:configChanges="orientation|keyboardHidden|screenSize"

不調(diào)整生命周期


以上數(shù)據(jù)在模擬器4.1,5.0,6.0,7.0測出.


總結(jié):

當(dāng)橫豎屏切換時(shí),會正常的重走一次生命周期的回調(diào)方法:

  • onPause:
  • onSaveInstanceState:
  • onStop:
  • onDestroy:
  • onCreate:
  • onStart:
  • onRestoreInstanceState:
  • onResume:

如果不想在橫豎屏切換的時(shí)候調(diào)整生命周期,清單文件中配置:
android:configChanges="orientation|screenSize"
就夠了!


33a3731c-6737-408a-a84c-d88943377467.jpg

在沒有配置android:configChanges時(shí),可以在onSaveInstanceState中保存數(shù)據(jù),在onRestoreInstanceState中恢復(fù)數(shù)據(jù).


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容