横竖屏切换时Activity的生命周期
不设置android:configChanges
切换为横屏:
onPause:
onSaveInstanceState:
onStop:
onDestroy:
onCreate:
onStart:
onRestoreInstanceState:
onResume:
切换为竖屏(生命周期同上)
onPause:
onSaveInstanceState:
onStop:
onDestroy:
onCreate:
onStart:
onRestoreInstanceState:
onResume:
清单文件中单独设置:
android:configChanges="orientation"
效果还跟上面一样
清单文件中设置:
android:configChanges="orientation|keyboardHidden"
android:configChanges="keyboardHidden|screenSize"
效果还跟上面一样
清单文件中设置:
android:configChanges="orientation|screenSize"
android:configChanges="orientation|keyboardHidden|screenSize"
不调整生命周期
以上数据在模拟器4.1,5.0,6.0,7.0测出.
总结:
当横竖屏切换时,会正常的重走一次生命周期的回调方法:
- onPause:
- onSaveInstanceState:
- onStop:
- onDestroy:
- onCreate:
- onStart:
- onRestoreInstanceState:
- onResume:
如果不想在横竖屏切换的时候调整生命周期,清单文件中配置:
android:configChanges="orientation|screenSize"
就够了!
在没有配置android:configChanges时,可以在onSaveInstanceState中保存数据,在onRestoreInstanceState中恢复数据.