旋转屏幕Activity执行的生命周期方法

时间:2021-05-13 14:43:23

个人学习笔记:

很多时候会用到屏幕旋转时需要对一些数据进行保存,例如当横竖屏区切换时要保存先前屏幕的一些数据和状态,那么在旋转屏幕的时候都会调用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