【问题标题】:Does a recreated activity remember the original intent started it?重新创建的活动是否记得启动它的原始意图?
【发布时间】:2015-08-21 17:29:45
【问题描述】:

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

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

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

为了简化事情:

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

【问题讨论】:

    标签: java android android-activity recreate


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      有关类似讨论,请参阅: Android - Is the intent preserved during activity recreation?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-11-10
        • 1970-01-01
        • 2013-03-03
        • 2015-11-25
        • 2012-12-16
        • 2017-03-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多