我实现了保存(onSaveInstanceState)&通过Bundle恢复(onCreate)。它可以在由于方向更改而重新创建活动时起作用,但在其他应用程序声明资源后重新创建活动时它不起作用。在这种情况下,事实证明我的数据密钥不在包中。为什么?我很茫然。
答案 0 :(得分:1)
保存在onSaveInstanceState()
并通过onCreate()
传回的Bundle不是持久性的,仅用于在应用程序生命周期中的配置更改和Activity重新创建期间保存状态。
如果你的应用被销毁,就像在这里发生的那样,你需要将你的值存储在持久的地方,例如在SharedPreferences
使用onPause()
和onResume()
进行保存和恢复。