2

在查看有关使用 onSaveInstanceState 的文档时,弹出了一个问题。

假设我正在使用一个包含多个活动的应用程序,现在我处于一个由前一个活动启动的特定活动中。当前活动接受前一个活动的额外值。

如果我接到一个电话,然后导航回活动,它就会重新创建。但它会记住启动它的前一个活动的初衷吗?在重新创建自己之后,它是否能够从中获取额外的变量?

为了简化事情:

活动 A 启动活动 B(并将附加内容传递给它)。然后(在 B 中)有一个来电。我回到应用程序,所以 B 被重新创建 - 我仍然能够获得从原始活动 A 传递的额外内容吗?

4

2 回答 2

2

是的,最简单的检查方法是在第二个活动运行时旋转屏幕,它将被销毁然后重新创建,您会注意到您仍然可以获得额外内容。试试看,自己看看。

于 2015-06-07T00:59:01.637 回答
1

是的,这将是相同的意图。

还要澄清一下,当您离开活动 B 接听电话并返回时,活动 B 不一定会重新创建。只有当包含它的进程被杀死以回收资源时,它才会重新创建。经常发生的是,在您描述的场景中,活动 B 仍然存在。

对于类似的讨论,请参阅: Android - 在活动重新创建期间是否保留了意图?

于 2015-06-07T01:08:20.527 回答