android:configChanges
是一个在 Android 应用程序的 AndroidManifest.xml
文件中使用的属性,它允许您处理配置更改(例如屏幕方向、键盘可用性、语言更改等)时不需要重新启动 Activity 的情况。当配置发生变化时,onConfigurationChanged()
方法会被调用,您可以在该方法中处理这些变化。
使用 android:configChanges
的主要优点是可以避免在配置更改时重新启动 Activity,从而提高应用程序的性能和用户体验。但是,这种方法也有一些缺点,例如您需要手动处理所有配置更改,这可能会导致代码变得复杂和难以维护。
以下是一些常见的 android:configChanges
用法:
<activity
android:name=".MainActivity"
android:configChanges="orientation|screenSize">
</activity>
<activity
android:name=".MainActivity"
android:configChanges="keyboardHidden">
</activity>
<activity
android:name=".MainActivity"
android:configChanges="locale">
</activity>
<activity
android:name=".MainActivity"
android:configChanges="minSdkVersion">
</activity>
请注意,使用 android:configChanges
时,您需要在代码中处理所有配置更改。例如,如果您处理了屏幕方向更改,但仍然希望在横屏模式下显示某些特定的 UI 元素,您需要在 onConfigurationChanged()
方法中检查屏幕方向并相应地更新 UI。