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

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

1.当前的Activity不销毁:

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

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

生命周期如下:


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

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

2.销毁当前的Activity:

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

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


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

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

 

更多相关文章

  1. Android的图片浏览源码解读
  2. android各版本新特性
  3. Android设备Root检测方法
  4. Android(安卓)Studio中创建Selector文件的方法
  5. 在Android中查看和管理sqlite数据库
  6. 浅谈Java中Collections.sort对List排序的两种方法
  7. mybatisplus的坑 insert标签insert into select无参数问题的解决
  8. python起点网月票榜字体反爬案例
  9. Python list sort方法的具体使用

随机推荐

  1. Android 上进行签名的方法
  2. Android 文件读写工具类
  3. 数据存储之五网络数据交互
  4. Android获取文件的MD5值
  5. Rk3399 android7.1 camera 分析
  6. Android 用源代码写layout布局
  7. Android 系统版本
  8. android popupwindow 中listview 无法点
  9. Android 获得屏幕大小
  10. 安卓 跳转淘宝、京东app,并打开商品详情