試圖決定(爲我的應用程序)在onPause()中保存哪些內容以及如何保存onSaveInstanceState(),我梳理了整個SO的提示和明確的指導方針。「持久狀態」與「當前狀態」
如果我理解正確,onSaveInstanceState()最適合保存「運行時更改」或「當前狀態」(無論這意味着什麼),而onPause()最適合保存「持久狀態」(無論這意味着什麼)。
我仍然很難決定什麼在我的應用程序構成「持久狀態」與「當前狀態」。例如,儘管用戶首選項顯然是持久的,但是當用戶更改它們時,是否始終要通過Android UI框架自動保存它們,是否需要將它們保存在onPause()
中?
是否需要將班級數據成員保存在onSaveInstanceState()?我是否需要在我的應用程序中爲每類做到這一點?
我很困惑。
您能帶來真實世界的例子嗎?必須在onPause()
中保存什麼以及必須在onSaveInstanceState()
中保存哪些內容?用於設備配置更改的Except,即。
-
一些新的見解,後,我的問題已經有了答案:
- 的onSaveInstanceState的
Bundle
爲not written to anything,這是不持久的以任何方式。 - onSaveInstanceState的
Bundle
數據將只是held in memory,直到應用程序關閉。
「除了設備配置更改」......這是什麼意思? – 2012-08-08 23:36:52
這與方向類型更改有關。 – 2012-08-08 23:42:27
@AlexLockwood「Except」一詞是指它的意思。幾乎無聊的例子是方向類型的變化,但它可能是別的東西? (例如連接的USB鍵盤,建立的互聯網連接等) – ateiob 2012-08-09 00:57:41