坑坑的onRestoreInstanceState

参考:http://hukai.me/android-activitylifecycle-onsaveinstancestate/

该文核心大意是:

onSaveInstanceState与onRestoreInstanceState的调用时机:

只要某个Activity是做入栈并且非栈顶时(启动跳转其他Activity或者点击Home按钮),此Activity是需要调用onSaveInstanceState的, 如果Activity是做出栈的动作(点击back或者执行finish),是不会调用onSaveInstanceState的。

只有在Activity真的被系统非正常杀死过,恢复显示Activity的时候,就会调用onRestoreInstanceState

上述说法经过实践的确是这样的,以下是实践部分过程


这个东西基本上不调用的,说是被强杀了之后才会被调用,愚昧的我怎么也不知道怎样模拟内存不够啊,然后被强杀呢,所以基本上看不到onRestoreInstanceState被调用onCreate()方法里面的bundle始终是拿不到的,但是保存倒是很好保存onSaveInstance()方法一直都在onstop之后

贴一下从Main到Second页面的声明周期方法


这里我没有在startactivity之后去finish页面所以还走了mainactivity的onsaveInstance(),当我加上了finish()之后,直接不走了

解释下:这里因为是mainactivity是出栈操作所以不会走

如下图



但是不管怎么样,正常的跳转啥的,你是无法使用oncreate的bundle的,始终都是空的,反正我是模拟不出来什么异常情况能把我的这个页面给杀掉,除非放那里放一段时间.所以该用持久化保存就用持久化保存


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值