个人学习笔记:
很多时候会用到屏幕旋转时需要对一些数据进行保存,例如当横竖屏区切换时要保存先前屏幕的一些数据和状态,那么在旋转屏幕的时候都会调用activity生命周期的哪些方法呢,今天写了个程序运行得出了如下结果:
(1)如果销毁当前的Activity,那么就要重写Activity的两个方法
onSaveInstanceState()保存数据和 onRestoreInstanceState()还原数据执行顺序:
onCreate
onStart
onResume
onPause
onSaveInstanceState
onStop
onDestroy
onCreate
onStart
onRestoreInstanceState
onResume
在灭屏时调用的方法
onPause
onSaveInstanceState
onStop
屏幕重新唤醒时调用的方法:
onRestart
onStart
onResume
退出程序时调用的方法:
onPause
onStop
onDestroy
(2)在manifest.xml文件中设置android:configChanges="orientation|keyboardHidden|screenSize"
切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法
需注意的是,在4.0以后的版本需要加上ScreenSize 不然不会执行onConfigurationChanged方法
执行顺序:
onCreate
onStart
onResume
onConfigurationChanged