让我们想象一下 ActivityB
从 ActivityA
中调用,其中包含 extras。当 ActivityB
启动时,我们检查 onCreate()
方法,bundle
包含我们放入 ActivityA
的这些额外内容。我注意到 ActivityB
在方向改变后仍然持有额外的东西,即在刚刚重新创建 ActivityB
之后,但没有被放置额外的 ActivityA
调用在 Intent
中。意思是临时 Actor 总是“活着的”?如果我理解正确,Activity 将它保存在哪里/如何保存?
最佳答案
我相信您会发现,如果在您的 Activity 上调用 onDestroy(),那么 intent 将被“重置”并且不会有额外的东西,这正是您期望通过旋转更改发生的情况。
要真正从 Intent 中删除额外的内容,您需要调用 removeExtra(String extra)在 Intent 上。
如果您不调用 removeExtra,那么是的,extra 将保留在 Intent 中,直到 Activity 被销毁。
关于android - 为什么 Activity 在方向改变后保留额外内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11109789/