Android——处理设备旋转Activity销毁时临时数据丢失的问题
2015-10-17 11:30
483 查看
一,在设备的旋转的时候,发生了什么?
设备旋转时候,当前的activity实例会被系统销毁,然后创建一个新的Activity实例。接下来我们通过检测Activity的生命周期来观察下:
上面是我启动activity时依次发生的事件,接下来我旋转设备:
可以看到,旋转的时候,第一个activity被destroy掉,之后新的activity被创建。
二,理解设备配置与备选资源
旋转设备会改变设备配置。设备配置是用来描述设备当前状态的一系列特征。这些特征包括:屏幕的方向,屏幕的尺寸,屏幕密度(是一个固定的设备配置,无法在运行时发生改变),键盘类型,底座模式及语言。 只要在应用运行中设备配置发生了变化,安卓就会销毁当前activity,然后再新建一个activity.三,为设备旋转后使用新布局
如图,在res文件夹下新建layout-land文件夹,在里面新建同名布局文件,那么,当设备转到水平的时候,新创建activity的时候,就会自动使用这个文件夹下的水平布局文件。四,在设备旋转之前,如何保存当前的临时数据?
类似Web中的刷新,当我刷新后,当前页面的临时数据都被清掉了,比如我当前正在填写一个表单,里面选择了性别女,刷新下,又要重新填写。显然,设备旋转时产生了一个隐性的bug,那么,安卓中如何处理这种保存临时数据的问题呢?我们可以通过重写onSaveInstanceState方法实现。
首先,在这个方法里面写入要保存的数据:
之后,我们在OnCreate方法里面重新载入数据:
相关文章推荐
- 【Android】ListView内数据的动态追加
- 【Android】使用Gallery组件实现图片播放预览
- android布局
- 【Android】使用Gallery组件实现循环显示图像
- 【Android】Android常见的错误及解决
- 【Android】使用Popwindow实现左侧弹出菜单层
- 【Android】图片切换组件ImageSwitcher的运用
- Android 基于ImageSwitcher实现的左右切换图片
- Android得到本地SHA1、MD5(百度地图及Google地图)
- Android音频输入通道的底层硬件和软件开发分析
- Android数据存储之SD卡
- android 软键盘 InputMethodManager
- Android监听器
- Android 动画效果弹出PopupWindow,同时屏幕背景变暗
- android中checkbox自定义样式
- Android之对话框的使用
- android 更新并安装应用
- 在Mac上配置Android adb命令
- 在Mac上配置Android adb命令
- Android四大组件详解