您的当前位置:首页正文

Android屏幕旋转时Activity的生命周期

2024-11-10 来源:个人技术集锦

个人学习笔记:

很多时候会用到屏幕旋转时需要对一些数据进行保存,例如当横竖屏区切换时要保存先前屏幕的一些数据和状态,个人认为有两个方法提供使用:

1.当前的Activity不销毁:

那么就需要在AndroidManifest.xml配置文件中的Activity标签下面添加:android:configChanges="orientation|keyboardHidden"

然后在activity中重写onConfigurationChanged()方法,每次旋转时会调用该方法,可以再该方法中处理数据

生命周期如下:

从上图可以看出,无论你怎么旋转都不会销毁当前的Activity,只会执行onConfigurationChanged()方法,因此只要在该方法中处理响应的数据即可


2.销毁当前的Activity:

如果销毁当前的Activity,那么就要重写Activity的两个方法onSaveInstanceState()和onRestoreInstanceState(),显然从方法名字可以看出一个是保存

数据,一个是还原数据,生命周期如下:

显然,当屏幕旋转时在什么时候保存数据和什么时候还原数据一目了然了

显示全文