onRestoreInstanceState什么时候使用?

onRestoreInstanceState(Bundle savedInstanceState)只有在activity被系统回收或是销毁的时候.重新创建activity的情况下才会被调用。

onDestroy -> onCreate -> onStart -> onRestoreInstanceState -> onResume 

 

 

onCreate(Bundle savedInstanceState)也可以恢复数据,它和onRestoreInstanceState有什么区别?

1.因为onSaveInstanceState 不一定会被调用,所以onCreate()里的Bundle参数可能为空,如果使用onCreate()来恢复数据,一定要做非空判断。

2.而onRestoreInstanceState的Bundle参数一定不会是空值,因为它只有在上次activity被回收了才会调用。

3.而且onRestoreInstanceState是在onStart()之后被调用的。有时候我们需要onCreate()中做的一些初始化完成之后再恢复数据,用onRestoreInstanceState会比较方便。

猜你喜欢

转载自blog.csdn.net/yh18668197127/article/details/84839048