Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 更新期间是否保留savedInstanceState?_Java_Android_Android Activity - Fatal编程技术网

Java 更新期间是否保留savedInstanceState?

Java 更新期间是否保留savedInstanceState?,java,android,android-activity,Java,Android,Android Activity,因此,Activity.onCreate()将一个Bundle作为参数,默认情况下它被称为savedInstanceState。当应用程序更新到新版本时,savedInstanceState是否保留?(我们就说通过谷歌游戏)。我是否可以将一些数据放入savedInstanceState,将应用程序更新为新版本,然后仍然可以访问数据?状态: 如果系统因系统故障而破坏活动 约束(而不是正常的应用程序行为),然后 实际活动实例不存在,系统会记住它存在 这样,如果用户导航回它,系统将创建一个新的 使用一

因此,
Activity.onCreate()
将一个
Bundle
作为参数,默认情况下它被称为
savedInstanceState
。当应用程序更新到新版本时,
savedInstanceState
是否保留?(我们就说通过谷歌游戏)。我是否可以将一些数据放入
savedInstanceState
,将应用程序更新为新版本,然后仍然可以访问数据?

状态:

如果系统因系统故障而破坏活动 约束(而不是正常的应用程序行为),然后 实际活动实例不存在,系统会记住它存在 这样,如果用户导航回它,系统将创建一个新的 使用一组描述活动的已保存数据的活动实例 活动被销毁时的状态。所保存的数据 系统用来恢复以前状态的称为“实例” 状态”,是存储在捆绑包中的键值对的集合 反对

但是没有关于在更新过程中应用程序被终止会发生什么的参考


您应该使用来安全地保存信息。

在应用程序更新期间,保存的实例数据不会被保留。这实际上是有意义的,不仅因为不同版本之间存在数据类型潜在的不兼容风险,而且因为您的新二进制文件可能只是全新的应用程序,只共享
packageId
和签名证书。这就是为什么新版本需要重新启动-更新后,用户将以新鲜的状态启动,因为这比尝试将应用恢复到更新启动前的状态要安全得多(这可能根本不可能)


因此,如果您希望数据不受更新的影响,那么数据库或共享首选项是更好的选择。

我怀疑是否保留了它,因为无法保证任何自定义的
Parcelable
类在新旧应用程序版本之间是一致的。尽管如此,我还没有测试这个场景。