几天来我一直在努力解决这个错误。这个错误发生在罕见但可能的情况下,我只是找不到发生这种情况的原因。
会发生什么:
在分屏模式下(我的应用程序在顶部,另一个在底部),当某些活动退出时,永远不会调用后台活动(在我的情况下,主要是 MainActivity)onStart()
,并且分屏模式看起来已经结束,因为我的应用程序已经死了,但总览按钮看起来仍然像我处于分屏模式,当我点击分屏按钮时,我的 MainActivityonStart()
最终被调用,它再次回到分屏模式。
日志看起来像
MainActivity onStop()
ProblematicActivity onCreate()
...
ProblematicActivity onDestroy()
//and nothing!
在以下情况下不会发生这种情况:
- 当有问题的活动在非分屏模式下被调用,但在分屏模式下完成。(
resumed
和paused
) - 当有问题的活动在分屏模式下被调用,但我的应用程序被点击(即,我的活动处于
resumed
状态)
仅在以下情况下才会发生这种情况:
- 有问题的活动以分屏模式启动,我的活动没有被点击(即我的活动处于
paused
状态)
我已经彻底检查了活动生命周期回调(至少我是这么认为的)并多次查看日志,但我就是无法弄清楚为什么没有调用 BackStack 活动。
我试过搜索,但没有太多有用的信息。有没有人有类似我的经验/问题?
谢谢。
附加信息
我的活动堆栈看起来像这样
MainActivity
活动 2
活动 1
片段 1
服务器发送我的应用程序来启动一个功能,然后它启动 Activity 2,它启动 Activity 1,并且 Fragment 1 在 Activity 1 中(用户真正看到的是 Fragment 1) Activity 和 Fragment 被很好地破坏,直到 Activity2。但是从那里开始, MainActivity (或者不管它是什么活动)是不可见的,因为 AndroidSystem 从不调用onStart
.