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。