1

关于应用程序范围的状态,我已经阅读了许多关于 POJO 单例与子类化应用程序类的讨论。

关于保存状态,我了解了 Activity.onSaveInstanceState。

但是由于应用程序并没有真正的生命周期方法,我如何保存从多个活动中使用的状态?

我的第一个想法是在我的主 Activity 中使用 onCreate() 和 onSaveInstanceState(),但是如果用户在另一个 Activity 中暂停应用程序会发生什么?当应用程序回到前面时,只会重新创建这个活动,而不是我的主要活动,对吧?

我是否必须在我的所有活动中执行相同的 onSaveInstanceState 和 onCreate 操作,还是有其他方法?

4

1 回答 1

1

如何保存从多个活动中使用的状态?

当数据改变时更新你的持久化存储。根据定义,没有“从多个活动中使用”的“实例状态”。

我的第一个想法是在我的主 Activity 中使用 onCreate() 和 onSaveInstanceState(),但是如果用户在另一个 Activity 中暂停应用程序会发生什么?

最终,您的进程被终止。“实例状态”(例如,onSaveInstanceState()可能会在稍后再次提供给您,具体取决于具体情况。您绝对需要保留的任何内容都需要放入持久存储(数据库、SharedPreferences文件)中,通常在数据发生更改时,就像过去 60 年来软件的编写方式一样。

于 2013-04-19T11:40:44.697 回答