Android的onSaveInstanceState

作者: UP7CR | 来源:发表于2017-05-12 00:14 被阅读99次

开发文档:
https://developer.android.com/guide/components/activities/activity-lifecycle.html

1,用户自己点击back键或者“自杀”Activity的行为,onSaveInstanceState()是不会被调用的。
因为系统限制而造成的Activity关闭,才会调用onSaveInstanceState()。

2,保存的内容都是以key-value形式保存在Bundle里面的

3,默认情况下会保存你的view对象和layout控件,所以这些东西恢复的时候,都不会你手动写代码。

4,还得注意,你重写onSaveInstanceState()方法的时候 ,必须调用super方法,因为super方法里面有保存view状态的内容

5,系统只会恢复写了唯一id的控件(android:id)

6,onSaveInstanceState()是在onPause()之后、onStop()之前被调用的。

7,恢复的时候,onCreate()和onRestoreInstanceState()会收到同样的Bundle对象。

8,onCreate恢复的时候,要对savedInstanceState进行判空,如果是null,那就是初次启动

9,onRestoreInstanceState()是在onStart()之后调用的,而且只有当储存了数据之后,才会调用onRestoreInstanceState(), 所以不用对其中的Bundle进行判空

10,也要同样记得调用onRestoreInstanceState()的super方法,里面会有view hierarchy

以上是我自己的笔记,还想了解的,可以移步别人的文章:
http://www.jianshu.com/p/5dde143a143f

请关注我的微信公众号~

![](http:https://img.haomeiwen.com/i1857762/0d54a369cb94731c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

相关文章

网友评论

    本文标题:Android的onSaveInstanceState

    本文链接:https://www.haomeiwen.com/subject/nvwatxtx.html