2011-06-27 53 views
7

在Android中處理方向變化的正確方法是什麼?當我研究這個問題時,有兩種方法出現。在Android中處理方向變化的正確方法

第1種方法 使用方法onSaveInstanceState(Bundle savedInstanceState)onRestoreInstanceState(Bundle savedInstanceState)存儲和方位的變化後由Android操作系統被殺害後恢復活動。

第2種方法 新增android:configChanges="orientation|keyboardHidden"到AndroidManifest.xml這樣的活動不會被破壞時的方向改變。

我已經嘗試了這兩種方法,他們都工作,但第一種方法需要很長時間才能實現。雖然我看到關於第二種方法的帖子,但我想知道這是否是處理方向更改的「接受」和「正確」方式。每種方法的優點和缺點是什麼?謝謝!

回答

3

第二種方法將不允許你做某些特定的方向特定的東西,比如爲屏幕旋轉或不旋轉時加載不同的佈局(我在這裏考慮資源後綴)。我沒有遇到任何其他不良影響,但是文檔聲明:「應該避免使用這個屬性,並且只能用作最後的手段。」

此處瞭解詳情:http://developer.android.com/guide/topics/resources/runtime-changes.html