android - 为什么 Activity 在方向改变后保留额外内容

标签 android

让我们想象一下 ActivityBActivityA 中调用,其中包含 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/

相关文章:

来自 Go 的 Android API

android - 如何拍摄surfaceview的快照?

java - Android - 如何正确挂起 OpenGL

android - 为什么 Proguard 在 Android 中保留 Activity 类?

android - 当应用程序从任务管理器中终止时服务崩溃

android - 期望意外类型的 Kotlin 泛型

java - 为什么我不需要导入 android "R"类?

android - 从我的应用程序附加 Gmail 安全存储中的文件

android - 如何在 NativeScript 应用程序中包含自定义 native 代码?

java - TextView 设置可见性不起作用