重新创建的活动是不是记得启动它的原始意图?
Posted
技术标签:
【中文标题】重新创建的活动是不是记得启动它的原始意图?【英文标题】: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 中获得额外的东西吗?
【问题讨论】:
【参考方案1】:是的,最简单的检查方法是在第二个活动运行时旋转屏幕,它将被销毁然后重新创建,您会注意到您仍然可以获得额外内容。自己试试看。
【讨论】:
【参考方案2】:是的,这将是相同的意图。
另外澄清一下,当您离开活动 B 接听电话并返回时,活动 B 不一定会重新创建。只有当包含它的进程被杀死以回收资源时,它才会重新创建。经常发生的情况是,在您描述的场景中,Activity B 仍然存在。
有关类似讨论,请参阅: android - Is the intent preserved during activity recreation?
【讨论】:
以上是关于重新创建的活动是不是记得启动它的原始意图?的主要内容,如果未能解决你的问题,请参考以下文章