首页 > 代码库 > onRestoreInstanceState和onSaveInstanceState
onRestoreInstanceState和onSaveInstanceState
测试方式很简单,只要想象一下就明白了:
经测试,onSaveInstanceState会被调用的条件是:
条件一.从当前activityA启动ActivityB时,在onPause之后onStop之前调用,
条件二.当前activtiy未被主动销毁(比如调用finish()),而是被压入栈中。
经测试:onRestoreInstanceState调用的条件
onSaveInstanceState被调用是为了保存数据,然而这并不意味着onRestoreInstanceState会被调用,那么,什么时候会被调用呢。
前面说过,当前ActivityA启动了ActivityB时onSaveInstanceState会被调用,及状态被保存了,而且Activity被压在栈中了,只有ActivityB活跃着,据此暗示,当ActivityB发生意外时ActivityA中的onRestoreInstanceState。
测试结果说明了这一点,但是,ActivityB的意外事故严重性也决定了ActivityA中的onRestoreInstanceState,意外越严重的话,app直接闪退,因此不会调用.
所以得出如下条件:
条件一:顶层Activity发生警告性,低级别异常,未导致app退出
条件二:activity必须违背kill掉
onRestoreInstanceState和onSaveInstanceState
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。