Activity 在 Android 8.0 上启动新的 activity 时被销毁

Activity is destroyed when new activity is started on Android 8.0

我最近注意到 Android 8.0 存在很多问题。现在我 运行 遇到了一个专门针对 运行ning Android 8.0 设备的问题,与 activity 生命周期相关。

在设备运行ning Android 8.0上,当从activity A调用context.startActivity(intent)时,activity A被暂停、停止和销毁一次activity B 启动。当我按回 return 到 activity A 时,它需要重新实例化,因为它已被完全破坏。这会导致保留 activity A.

状态的问题

出于某种原因,这只发生在 Android 8.0 上。在任何其他 OS(已尝试 7.1.1 和 9.0)上,activity A 只是暂停而不是被破坏,所以当我从 activity B 返回时,activity A刚刚恢复。

有没有人以前有过这种行为?为什么 Android 8.0 会这样?我还没有看到任何与生命周期这样的更改相关的文档,也没有找到关于此问题的任何其他帖子。是什么原因造成的?

我的问题的解决方案是因为 Android 设备上名为 "Do not keep activities" 的开发人员设置...如果您想知道为什么活动会在您的设备上随机消失,请确保您设备的开发人员设置中未启用此选项。