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会比较方便。