进程被杀死后恢复状态

7
我已经实现了onRestoreInstanceState和onSaveInstanceState。当应用程序被最小化(通过按Home按钮或其他活动在前台时)时,它们都能成功工作。但是,当我最小化应用程序并杀死进程(通过打开当前进程列表并结束该进程)时,应用程序无法恢复保存的实例状态。如何使其恢复保存的状态?我的最佳选择是使用Serializable将savedInstanceState捆绑到文件中(因此在硬盘上存储某些内容,而不是RAM),然后从文件重新加载savedInstanceState?
2个回答

10

我该如何恢复保存的状态?

不行,因为这不是保存实例状态的目的。

我的最佳选择是使用可序列化的方式将savedInstanceState bundle写入文件(这样就可以将其存储在硬盘上而不是RAM中),然后再从文件中重新加载savedInstanceState吗?

您最好的选择是使用持久性技术,例如文件、数据库或SharedPreferences。您的具体方法似乎有些奇怪。

保存实例状态仅适用于临时信息,例如用户填写但尚未提交的表单内容。任何超出此范围的信息都不应该保存在保存的实例状态中,而应该存在某种持久数据模型中。这与构建Web应用程序没有什么不同,在那里您在DOM和JavaScript变量中拥有的数据不会永远存在,而是需要存储在某个地方(通常是Web服务器)。


谢谢,我只是想确认一下我需要写入文件。 - Rilcon42

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接