onCreate
onStart
onReStart
onResume
onPause
onStop
onDestroy
清晰描述onConfigurationChanged生命周期方法的场景
- 简述场景
由于系统的数据储存和恢复机制,当系统配置发生改变后,Activity会被重建,如果不想让Activity重建,可以给Activity指定configChanges属性。这样当相关配置改变后,Activity不重建,取而代之的是调用onConfigurationchanged方法。
- 案例
比如,Activity默认当横竖屏发生改变,Activity被重建,用上述方法在Menifest.xml中给Activity声明android:configChanges="orientation|srceenSize"
如果横竖屏切换不进行上述操作使Activity重建,系统的数据储存和恢复机制是如何处理
onSaveInstanceState、onRestoreInstanceState调用场景
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
}
@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
}
- Activity在异常情况下终止,系统会调用onSaveInstanceState来保存当前Activity的状态。这个方法在onStop方法之前调用,和onPause没有既定的时序关系。
- 在Activity被重建后,系统会在onStart之后调用onRestoreInstanceState,并且把销毁前onSaveInstanceState保存的Bundle对象作为参数传递给onRestoreInstanceState和OnCreate方法
- 系统自动保存的状态:当前Activity的视图结构、文本框中用户输入的数据、ListView的滚动位置等
网友评论