试图决定(为我的应用程序)在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