在中,某些事件触发,Activity会重新调用onCreate方法对Activity重新初始化,这样不仅效率低,而且会造成数据丢失,通过重写onConfigurationChanged方法,并在AndroidManifest.xml中对Activity声明configChanges,这样特定事件触发就会调用onConfigurationChanged方法,而不是onCreate方法重新初始化。
要使用该方法则必须在清单文件中添加如下配置:
android:configChanges="orientation|keyboard|keyboardHidden"
这句代码表示,当设备旋转、显示键盘、隐藏键盘时调用Activity的onConfigurationChanged方法。configChanges可配置的值如下表所示:
在做转屏实验的时候会发现现象不是按照上面所述的调用onConfigurationChanged方法而是一直调用onCreate,通过查找网上资料发现,当是在AndroidManifest.xml里设置的MiniSdkVersion和 TargetSdkVersion属性大于等于13的情况下,除了设置”orientation“,你还必须设置"ScreenSize"。
参考资料: