【问题标题】:Restore State after process is killed进程被杀死后恢复状态
【发布时间】:2013-01-02 19:21:25
【问题描述】:
我已经实现了 onRestoreInstanceState 和 onSaveInstanceState。当应用程序最小化时(通过按下主页按钮,或者另一个活动在前台),它们都可以成功运行。但是,当我最小化应用程序并终止进程(通过打开当前进程列表并结束该进程)时,应用程序不会恢复保存的实例状态。我怎样才能让它恢复那个保存的状态?我最好的选择是使用可序列化将 savedInstanceState 包写入文件(因此将某些内容存储在硬盘驱动器上,而不是 RAM 上),然后从文件中重新加载 savedInstanceState?
【问题讨论】:
标签:
android
reload
serializable
savestate
【解决方案1】:
我怎样才能让它恢复保存的状态?
你不能。这不是保存的实例状态的用途。
我最好的选择是使用可序列化将 savedInstanceState 包写入文件(因此将某些内容存储在硬盘驱动器上,而不是 RAM 上),然后从文件中重新加载 savedInstanceState?
您的“最佳选择”是持久性,例如文件、数据库或SharedPreferences。您的具体做法似乎很奇怪。
已保存的实例状态仅用于临时信息,例如用户已填写但尚未提交的表单内容。除此之外的任何东西都不属于保存的实例状态,而是属于某种持久数据模型。这与构建 Web 应用程序没有什么不同,您在 DOM 和 JavaScript 变量中的数据不会永远存在,而是需要存储在某个地方(通常在 Web 服务器上)。