http://blog.csdn.net/satchmo/article/details/7715460

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

1.当前的Activity不销毁:

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

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

生命周期如下:

Android屏幕旋转时Activity的生命周期_第1张图片

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

不设置Activity的android:configChanges时,切屏会重新调用各个生命周期;设置Activity的android:configChanges="orientation"或android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法(模拟器和真机不同)

2.销毁当前的Activity:

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

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

Android屏幕旋转时Activity的生命周期_第2张图片

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

源码下载地址:http://download.csdn.net/detail/zshq280017423/4356346

 

更多相关文章

  1. Android设备Root检测方法
  2. Android Studio中创建Selector文件的方法
  3. Android App开发基础篇—四大组件之Activity生命周期和启动模式
  4. blcr加速android启动速度遇到的问题及解决方法
  5. Android 公共库的建立方法
  6. 浅谈Android中的 Fragment、生命周期回调方法 以及使用
  7. android的intent使用方法 .
  8. android入门教程(十六)之-- 使用Intent传递数据

随机推荐

  1. android面试与总结
  2. Android - 设置带滚动条的TextView
  3. Android EditText输入的一些限制
  4. Android(安卓)ListView拖动时背景颜色会
  5. Android 源码 修改系统默认横屏
  6. A3```在android native c里打log
  7. Android studio gradle 生成字段属性值
  8. Android 制作 升级包
  9. Android: persist instance state across
  10. android 算定义布局xml