关于Android 横竖屏切换(避免Activity在转屏时销毁)

时间:2023-01-13 17:43:45
对android:configChanges属性,一般认为有以下几点:
1、不设置Activity的android:configChanges时, 切屏会重新调用各个生命周期,切横屏时会执行一次,切竖屏时会执行一次,不执行onConfigurationChanged()方法。
2、设置Activity的android:configChanges="orientation"时,切屏还是会重新调用各个生命周期,切横、竖屏时只会执行一次,会执行onConfigurationChanged()方法。
3、在Android 3.2(API 13)之前,设置Activity的android:configChanges="orientation|keyboardHidden"时,切屏不会重新调用各个生命周期,只会执行onConfigurationChanged方法。
在Android  3.2(API 13)之后,在设置Activity的android:configChanges="orientation|keyboardHidden"后,还是一样会重新调用各个生命周期的。还需要设置screenSize,因为screenSize会在屏幕旋转时改变。
 
android:configChanges="orientation|keyboardHidden|screenSize" ;