开发文档:
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)
网友评论