默认情况下,当“屏幕方向”或“键盘显示隐藏”变化时都会销毁当前Activity,创建新的Activity。如果不希望重新创建Activity实例,可以按如下配置Activity:
//低版本横竖切换不重新创建
<activityandroid:name=".MainActivity" android:configChanges="keyboardHidden|orientation">
//4.0以上版本横竖切换不重新创建
<activityandroid:name=“.MainActivity” android:configChanges=“keyboardHidden|orientation|screenSize">
上面的android:configChanges属性指定了要捕获“屏幕方向”和“键盘显示隐藏”变化,当捕获到这些变化后会调用Activity的onConfigurationChanged()方法。
默认情况下(没有配置android:configChanges属性):
l竖屏切横屏,销毁当前Activity之后,创建一个新Activity实例。
l横屏切竖屏,销毁当前Activity之后,创建一个新Activity实例,新的Activity实例很快就被销毁,接着又会创建一个新Activity实例。如果只希望创建一个实例,可以配置android:configChanges="orientation"