onSaveInstanceState 和 onRestoreInstanceState

1.onSaveInstanceState 和  onRestoreInstanceState基本作用:

onSaveInstanceState是用来保存UI状态的,可以在activity被杀死之前保存要保留的数据(Bundle putBundle等方法),一般在onStop或者onPause之前触发;

onRestoreInstanceState是用来恢复状态的,可以用来在activity异常结束后重启恢复数据,恢复的数据放在onRestoreInstanceState或者onCreate方法参数中的bundle内;

 

2.onSaveInstanceState调用时机:

当activity存在被销毁的可能性时  而非用户主动销毁(按下BackPressed键则不调用),就会自动调用这个方法用来存一些关键数据(但不能持久化保存数据),持久化应放在onPause中处理会更佳:

1.从一个activity跳转到另一个activity

2.用户按下Home键

3.长按home切最近任务task

4.锁屏

5.系统属性改变,但又没有在配置清单文件中声明,生命周期重走,也会调用;

 

3.onRestoreInstanceState调用时机:

注意:onSaveInstanceState和onRestoreInstanceState不一定是成双成对调用的;

onRestoreInstanceState是在acitivity确实在以上几种意外情况销毁的情况下,才会调用来恢复数据的,恢复的Bundle数据出现在onRestoreInstanceState或onCreate方法参数中;

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值