对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" ;
时间: 2024-11-07 02:22:37