我已经在我的android活动中实现了onSaveInstanceState
和onRestoreInstanceState
。
这些看起来工作正常,但我希望在发生某些事情时(例如,当用户按下按钮时)显式保存实例状态,以防应用程序崩溃,或者我通过调试器终止它
我可以很明显地调用该方法,但这并不能提供正确的包或其他任何东西。
我环顾四周,但看不到任何办法。有可能吗?
如果没有,是否有人可以提供一个体面的解决方案,在崩溃/终止的情况下保存特定点的活动状态?
谢谢
最佳答案
bundle只存储在内存中,这意味着即使您设法将数据放入bundle中,如果您的应用程序崩溃,它也将消失。
我建议您使用onSaveInstanceState
来恢复活动进程中的Activity
状态。如果你想保存一些信息,这样在应用程序崩溃时它不会丢失,你应该使用其中一个persistentstorage options。
理想情况下,您将拥有所显示数据的模型类。您可以使用sqlite和一些DAO library持久化模型。这样做之后,您可以在创建Activity
时从数据库还原。
根据信息的复杂性,您还可以选择Shared Preferences。如果您只有几个键值对,这是一个不错的选择,您不必使用模型。