【sundy视频观看笔记】二 Activity的状态保存

 谈谈何时要用到当前Activity状态保存:

 利用Activity 的声明周期 和 Preference来完成状态保存

第一种 :如果用户在使用软件过程中,输入了部分数据,但是在突然间的屏幕旋转(由横屏切换到竖屏)刚才输入的数据就会消失,这个时候就需要我们去使用Activity的状态保存去保存用户输入的数据。

这里用到了实例化Activity的一些方法 : onSaveInstanceState & o'nCreate  or onRestoreInstanceState 这三个方法。

由于在没有任何设置的情况下,android手机在由 

竖屏切横屏,销毁当前Activity之后,创建一个新Activity实例。

横屏切竖屏,销毁当前Activity之后,创建一个新Activity实例,新的Activity实例很快就被销毁,接着又会创建一个新Activity实例。如果只希望创建一个实例,可以配置android:configChanges="orientation"

默认情况下,当“屏幕方向”或“键盘显示隐藏” 变化时都会销毁当前Activity,创建新的Activity。如果不希望重新创建Activity实例,可以按如下配置Activity:

<activity android:name=".MainActivity" android:configChanges="keyboardHidden|orientation">
上面的android:configChanges属性指定了要捕获“屏幕方向”和“键盘显示隐藏”变化,当捕获到这些变化后会调用Activity的onConfigurationChanged()方法。


系统回收当前Activity之间会调用 onSaveInstanceState  ;当按 back 和 home两个键不会调用这个方法

第二种:按了 home or back键 再回来

可以在 onPause()等一些方法中保存在Preference中,在onResume()中可以取回

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值