savedInstanceState 的作用

来源:互联网 发布:写字板知乎 编辑:程序博客网 时间:2024/05/12 11:50

笼统定义:在每个Activity对象被killed之前(有条件的),savedInstanceState 用来保存每个对象的状态。

 

举个例子,有两个activity的实例,分别为A,B, A先启动,然后B再启动遮挡住了A, 这时候如果系统的内存不足,系统就会暂时回收A,因为此时A是被遮挡的,对用户不可见的! 在回收A之前要做一些保存实例状态的工作,因为在B回返的时候,A还是要被重新创建并显示给用户的。

 

在activiy被回收的时候,它会调用 onSaveInstanceState(Bundle) 这个回调保存activity的状态,在恢复的时候会调用 onRestoreInstanceState(Bundle) 这个回调恢复系统状态,他们都是有默认实现的,如果你要添加非默认的状态,需要在这两个方法里自己添加。