在Android中,configChanges屬性用于指定Activity在特定配置更改時是否應該處理這些更改,或者更改是否應該由系統自動處理。
當Activity的configChanges屬性被設置為具體的配置更改類型時,如orientation、screenSize等,Activity在此類配置更改時不會重新創建,而是會調用Activity的onConfigurationChanged()方法來處理配置更改。這樣可以避免Activity的重新創建和重新初始化,提高了性能。
然而,當Activity的configChanges屬性被設置為"keyboardHidden"或者"orientation|keyboardHidden"這樣的值時,Activity將繼續重新創建,并且在重新創建之前會調用onConfigurationChanged()方法。這是因為鍵盤的隱藏狀態更改可能會影響到布局資源的選擇,所以需要重新創建Activity。
總之,configChanges屬性用于控制Activity在特定配置更改時的行為,可以避免Activity的重新創建和重新初始化,提高了性能。