android:screenOrientation="landscape" android
android:configChanges="keyboardHidden|orientation" 測試
這是設置屏幕方向爲橫屏,以及禁止在屏幕切換的時候重啓Activity和隱藏鍵盤。橫豎屏切換的知識能夠看我另外一篇文章。 spa
原本是用的好好的,可是無心中在鎖屏後再解鎖的時候,應用會先豎屏,而後再轉回橫屏,並且還有一些時間間隔,因而我就去調查了一番: orm
首先,在全部Activity的生命週期加了一句打印LOG,發如今鎖屏的時候,Activity就執行了一遍onDestroy,解鎖的時候,又從新從onCreat來打開,因而就又執行了一遍onCreat裏面的代碼,,,這不科學,正常狀況下是不會執行這兩個的(除非系統內存吃緊,自動銷燬,可是這個狀況排除了)。 blog
通過反覆查找和DEBUG以後,又和同窗同事討論了半天,還去查看了鎖屏的源代碼(雖然沒看懂幾句),仍是沒有結果,,, 生命週期
不過,皇天不負有心人,終於在stackoverflow上找到一大神的回答了~ 內存
問題的關鍵所在,就是API13之後,須要在 android:configChanges
的參數裏面加一個screenSize!!! get
也就是: android:configChanges="screenSize|keyboardHidden|orientation" it
通過我親手真機測試,問題很乾淨地被解決了,媽媽不再用擔憂它重複onCreate了! io