首页 > 解决方案 > 当像 messenger 这样的覆盖应用程序在前台时,Android 应用程序进程被破坏

问题描述

我有一个具有进程的 android 应用程序,比如说 Process1 和 Process1:A

从 Process1 开始,当进行特定调用时,会产生 Process1:A。当 Process1:A 运行时,它会调用另一个后端服务并等待响应。在等待响应时,如果我打开一个带有叠加层的应用程序,比如 DU Recorder 应用程序并从叠加层菜单开始录制,Process1:A 会突然被杀死,而不会留下任何关于它死亡原因的日志痕迹。尝试从活动生命周期中查看 onPause 和 onStop 方法,它们从未被调用过。

对我来说,这似乎不是记忆问题。我正在测试的手机几乎有 4GB 的内存未使用。

试图通过在运行时从 android studio 终止进程来测试应用程序,它会自动重新生成以恢复操作,但是当涉及到覆盖应用程序时,它只是突然死亡并且永远不会重新生成,除非我手动重新启动应用程序。

当 Process1:A 等待响应时显示类 0 闪存消息时,会观察到类似的行为。

这是某人已经经历过或有想法的事情吗?我还想知道当活动生命周期存在覆盖时应用程序的行为是什么。

更新:这似乎只发生在 Android 9 上,不会对 Android 8 及以下设备造成任何问题。我查看了 android 9 的变更日志/发行说明,以查看通知/覆盖的工作方式是否有任何变化,但没有发现任何具体内容。

标签: androidandroid-activity

解决方案


推荐阅读