因此,Activity.onCreate()
以Bundle
作为参数,默认情况下它被称为savedInstanceState
。应用程序更新到更新版本时是否保留savedInstanceState
? (让我们通过Google Play说)。我可以在savedInstanceState
中添加一些数据,将应用程序更新为新版本,并仍然可以访问数据?是否在更新期间保存savedInstanceState?
2
A
回答
1
保存的实例数据在应用程序更新期间不会保留。这实际上是有意义的,不仅因为不同版本之间的数据类型潜在的不兼容风险,还因为您的新二进制文件可能只是完全新的应用程序,仅共享packageId
和签名证书。这就是为什么新版本需要重新启动 - 更新后用户将从新的状态开始,因为这比尝试将应用恢复到更新开始前的状态(这可能根本不可能)要安全得多。
因此,如果您希望数据不受更新影响,数据库或共享首选项是更好的选择。
1
的documentation状态:
如果系统破坏活动由于系统 约束(而不是正常的应用程序的行为),那么虽然 实际活动情况消失后,系统会记住它的存在 例如,如果用户导航回到该位置,系统将使用一组保存的数据创建一个新的活动实例,该组数据描述活动在销毁时的状态。系统用于恢复先前状态的已保存数据称为“实例 状态”,并且是存储在Bundle 对象中的键值对的集合。
但是没有提及如果应用程序在更新时被杀死会发生什么。
您应该使用SharedPreferences来安全地保存信息。
相关问题
- 1. 在包中保存ArrayList savedInstanceState
- 2. 是否保存在传递后覆盖savedInstanceState包?
- 3. 保存期间更新其他字段
- 4. 使用savedInstanceState保存fragmentstate
- 5. Microsoft Excel文件是否保存每个更新日期信息?
- 6. 值不会保存在savedInstanceState中
- 7. 更新是否存在
- 8. 是否可以在savedInstanceState中保存位置?也许在一个捆绑?
- 9. 在应用程序更新期间保存的var/mobile/Application/xxxxxxxxxxxxxxxxxxxxxxxxxxxx/Documents/xxxxx.plist中是否存在?
- 10. Django/Python更新字段值(在模型保存期间)
- 11. 在Orchard站点中,模块更新期间是否可以保存输出缓存?
- 12. 冬眠@onetomany关系更新,而不是在保存期间插入
- 13. 在SYNC期间,Redis Slave是否会部分更新数据集?
- 14. 在请求期间ServletContext是否被更新
- 15. 在保存/更新流利的实体时保留日期时间nhibernate
- 16. 在CRUDRespository中更新或保存更新,是否有任何可用选项
- 17. SAS:保存是否存在
- 18. 保存上次更新ID和日期从历史更新更新变化触发期间进行
- 19. 缓存绝对过期是否保证缓存在确切时间被删除?
- 20. Sqlite:更新日期列,但只更改日期 - 保留时间
- 21. Cookie:Cookie的时间是否更新?像...是否到期是滑动窗口?
- 22. 插入或更新是否存在行
- 23. PHP PDO批量更新 - 是否存在?
- 24. 插入或更新是否存在MYSQL
- 25. 更新记录是否存在; else INSERT
- 26. SQL检查更新前是否存在
- 27. 是否存在更新的'vimtutor'?
- 28. Angular-UI在区间更新期间保持手风琴打开
- 29. 是在memcached更新后更新的到期时间吗?
- 30. Knockout.js - 保持发布日期/时间总是更新
我怀疑它是否保留,因为不能保证任何自定义的Parcelable类在旧版和新版应用程序版本之间是一致的。话虽如此,我还没有测试过这种情况。 – CommonsWare