关于应用程序范围的状态,我已经阅读了很多关于 POJO 单例与子类化应用程序类的讨论。
关于保存状态,我了解了 Activity.onSaveInstanceState。
但由于 Application 并没有真正的生命周期方法,我该如何保存从多个 Activity 使用的状态?
我的第一个想法是在我的主 Activity 中使用 onCreate() 和 onSaveInstanceState(),但是如果用户在另一个 Activity 中暂停应用程序会怎样?当应用回到前台时,只会重新创建此 Activity ,而不是我的主要 Activity ,对吗?
我是否必须在所有 Activity 中执行相同的 onSaveInstanceState 和 onCreate,还是有其他方法?
最佳答案
how can I save state which is used from several Activities?
当数据改变时更新你的持久存储。根据定义,不存在“从多个 Activity 中使用”的“实例状态”。
My first idea was to use onCreate() and onSaveInstanceState() in my main Activity, but what happens if user pauses app while being in another Activity?
最终,您的流程会终止。 “实例状态”(例如,onSaveInstanceState()
)可能稍后会根据情况再次提供给您。任何你绝对需要保留的东西都需要放入持久存储(数据库、SharedPreferences
、文件),通常是在数据更改时,就像过去 60 年的软件编写方式一样年。
关于Android:如何保存应用程序范围的实例状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16100550/