在检查有关使用onSaveInstanceState的文档时,会弹出一个问题。
让我们说我正在使用一个包含多项活动的应用程序,而现在我正处于由前一个活动启动的特定活动中。当前活动接受来自前一个的额外值。
如果我接到电话然后导航回活动,则会重新创建。但是它会记住上一次活动的原始意图吗?它会在重新创建之后从中获取额外的变量吗?
简化事情:
活动A启动活动B(并将附加内容传递给它)。然后(在B中)有一个来电。 我回到应用程序以便重新创建B - 我是否仍然可以从原始活动A中获得额外的内容?
谢谢:)
答案 0 :(得分:2)
是的,检查的最简单方法是在第二个活动运行时旋转屏幕,它将被销毁,然后重新创建,你会发现你仍然可以得到额外的东西。试试吧,亲自看看。
答案 1 :(得分:1)
是的,它的目的是相同的。
另外,为了澄清一下,当您离开活动B接听电话并返回时,活动B不一定要重新创建。只有在包含它的进程被杀死以回收资源时才会重新创建它。通常情况下,在您描述的场景中,活动B仍然存在。
对于类似的讨论,请参阅: Android - Is the intent preserved during activity recreation?