在我的应用程序开发的开始阶段,我onSaveInstanceState()
用来保存我的数据Bundle
并在 Activity 中恢复我的状态onCreate()
- 例如,这有助于在轮换期间进行快速测试。然后我决定我的一些数据,比如说一个整数,应该在运行之间持久化,所以我决定SharedPreferences
在onPause()
. 问题是:我可以安全地删除 Bundle 保存/恢复版本onSaveInstanceState()
并仅依赖保存的持久版本,还是我应该同时保留并onCreate()
检查两个源,无论哪个都存在?
我在这里挖了很多类似的帖子,有些人说他们使用以下模式onCreate()
:
if (savedInstance != null && ...contains the saved data...) {
...use the saved data...
} else {
...load the saved data from preferences...
}
所以我想知道是否有一个场景会经历onSaveInstanceState()
而不是经历onPause()
会让我也保存相同的东西Bundle
?我只想使用else
上面的部分。