Java Android活动状态,无法获取保存的信息

Java Android活动状态,无法获取保存的信息,java,android,android-emulator,Java,Android,Android Emulator,关于这个话题还有很多其他的问题,但我还没有弄清楚这个问题 在Android文档()中,它说: 默认情况下,系统使用Bundle实例状态保存有关活动布局中每个视图对象的信息(例如输入到EditText对象中的文本值)。因此,如果您的活动实例被销毁并重新创建,则布局的状态将恢复到其以前的状态,而不需要任何代码 因此,我在emulator中测试了这一点,只需创建一个包含EditText视图的视图。然后,我将信息输入其中并按下home(主页)按钮。当我重新打开应用程序时,信息消失了。这是不是应该自动持续

关于这个话题还有很多其他的问题,但我还没有弄清楚这个问题

在Android文档()中,它说:

默认情况下,系统使用Bundle实例状态保存有关活动布局中每个视图对象的信息(例如输入到EditText对象中的文本值)。因此,如果您的活动实例被销毁并重新创建,则布局的状态将恢复到其以前的状态,而不需要任何代码


因此,我在emulator中测试了这一点,只需创建一个包含EditText视图的视图。然后,我将信息输入其中并按下home(主页)按钮。当我重新打开应用程序时,信息消失了。这是不是应该自动持续下去,还是我遗漏了什么?

好吧,你部分错了,部分对了。你错了,因为灰色的报价是断章取义的。我将通过从您提供的链接中正确引用来简要说明:

当您的活动因用户按Back键或 活动自行完成,系统对该活动的概念 实例将永远消失,因为该行为指示该活动 不再需要了。但是,如果系统由于 到系统约束(而不是正常的应用程序行为),然后 实际的活动实例消失了,系统会记住它 存在,因此如果用户导航回它,系统将创建 使用一组保存的数据创建活动的新实例 描述活动被销毁时的状态

现在,在该段之后,我们有一个澄清:

注意事项:每次发生错误时,您的活动都将被销毁并重新创建 用户旋转屏幕。当屏幕改变方向时 系统销毁并重新创建前台活动,因为 屏幕配置已更改,您的活动可能需要加载 替代资源(如布局)

另一条,下面几行是:

若要保存有关“活动”状态的其他数据,必须重写 onSaveInstanceState()回调方法。系统称之为 方法,并将其传递给捆绑包 对象,该对象将在活动被销毁时保存 意外地如果系统以后必须重新创建活动实例, 它将相同的Bundle对象传递给onRestoreInstanceState()和 和onCreate()方法

当应用程序意外崩溃或启用屏幕旋转(仅举几个例子)时,会使用此捆绑包(Bundle savedInstanceState),这也会破坏(然后重新创建)前景

您也可以查看下面的“保存活动状态”部分,但我建议您使用此链接