android:configChanges屬性在不一樣版本SDK下須要注意的事項

      對android:configChanges屬性,通常認爲有如下幾點:android

一、不設置Activity的android:configChanges時,切屏會從新調用各個生命週期,切橫屏時會執行一次,切豎屏時會執行兩次spa

二、設置Activity的android:configChanges="orientation"時,切屏仍是會從新調用各個生命週期,切橫、豎屏時只會執行一次xml

三、設置Activity的android:configChanges="orientation|keyboardHidden"時,切屏不會從新調用各個生命週期,只會執行onConfigurationChanged方法生命週期

可是,自從Android 3.2(API 13),在設置Activity的android:configChanges="orientation|keyboardHidden"後,仍是同樣 會從新調用各個生命週期的。由於screen size也開始跟着設備的橫豎切換而改變。因此,在AndroidManifest.xml裏設置的MiniSdkVersion和 TargetSdkVersion屬性大於等於13的狀況下,若是你想阻止程序在運行時從新加載Activity,除了設置"orientation", 你還必須設置"ScreenSize"。get

解決方法:it

AndroidManifest.xml中設置android:configChanges="orientation|screenSize「io

相關文章
相關標籤/搜索