在Android中,某些事件觸發,Activity會重新調用onCreate方法對Activity重新初始化,這樣不僅效率低,而且會造成數據丟失,通過重寫onConfigurationChanged方法,並在AndroidManifest.xml中對Activity聲明configChanges,這樣特定事件觸發就會調用onConfigurationChanged方法,而不是onCreate方法重新初始化。
要使用該方法則必須在清單文件中添加如下配置:
android:configChanges="orientation|keyboard|keyboardHidden"
這句代碼表示,當設備旋轉、顯示鍵盤、隱藏鍵盤時調用Activity的onConfigurationChanged方法。configChanges可配置的值如下表所示:
在做轉屏實驗的時候會發現現象不是按照上面所述的調用onConfigurationChanged方法而是一直調用onCreate,通過查找網上資料發現,當是在AndroidManifest.xml裏設置的MiniSdkVersion和 TargetSdkVersion屬性大於等於13的情況下,除了設置”orientation“,你還必須設置"ScreenSize"。
參考資料:
http://www.cnblogs.com/jayceli/archive/2012/10/10/2718984.html
http://www.2cto.com/kf/201401/276043.html
http://www.cnblogs.com/lijunamneg/archive/2013/03/26/2982461.html