Android-旋转屏幕前保存数据

适时的使用备选资源虽然是Android提供的比较完美的解决方案,但是设备旋转导致的activity销毁与重建也会带来麻烦。因此,在设备运行过程中发生配置变更时,如设备旋转,需采用某种方式保存以前的数据。
覆盖以下Activity方法就是其中一种实现方式:

protected void onSaveInstanceState(Bundle outState)

该方法一般在onPause(),onStop(),以及onDestory()方法之前由系统调用。该方法的默认实现是要求所有activity的视图将自身的状态数据保存在Bundle中,Bundle是存储字符串键与限定类型值之间映射关系的一种结构。
在覆盖onCreate()方法时,我们实际是在调用activity超类的onCreate(…)方法,并传入收到的bundle。

覆盖onSaveInstanceState(Bundle)方法时,应该测试activity状态是否如预期正确保存和恢复,使用模拟器可能很容易实现。启动模拟器,找到Settings应用,点击Development Options,并启用don’t keep activities选项。现在运行应用,单击主屏幕键,会暂停并停止当前activity,停止的activity会被系统销毁,可通过重新启动应用验证activity状态是否得到保存。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值