天天看点

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

个人学习笔记:

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