通常情况下,当“屏幕方向”变化时会销毁并重建当前Activity。而我们有时候并不希望重新创建Activity实例,然后就会在AndroidManifest.xml中配置Activity:
<activity android:name="com.example.MainActivity" android:configChanges="orientation" >
android:configChanges="orientation" 属性指定了要捕获“屏幕方向”变化这个行为,当捕行为发生后,会调用Activity的onConfigurationChanged()方法。然而当我们在手机上调试的时候就会发现,其实并没有执行onConfigurationChanged()方法,依旧销毁当前Activity并创建新的Activity实例。
Why?因为这个属性在低版本上是可以起作用。在android 4.0 以上不起作用,还要加上screenSize,即android:configChanges="orientation|screenSize",才能起效果。
结束语:还是Google大法好~
时间: 2024-11-06 10:47:25