在Android中,某些事件触发,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"。
参考资料:
http://www.cnblogs.com/jayceli/archive/2012/10/10/2718984.html
http://www.2cto.com/kf/201401/276043.html
http://www.cnblogs.com/lijunamneg/archive/2013/03/26/2982461.html
时间: 2024-10-13 00:59:22