android - 当像 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 的变更日志/发行说明,以查看通知/覆盖的工作方式是否有任何变化,但没有发现任何具体内容。
解决方案
推荐阅读
- ruby-on-rails - Capybara 无头 chrome 不支持 javascript 内容
- android - Kotlin:使用 LiveData 读取数据库显示空的 RecycleView
- node.js - 填充nodejs和猫鼬不起作用
- python - 无法更改 seaborn regplot 回归线的大小?
- mysql - FireDac 使用 ini 文件设置持久连接
- javascript - 如何解决多个字段名称未知的问题。使用是的和 reactjs
- php - 分组集合到关联数组
- swift - Swiftui 小部件 ios 14 与从互联网下载的图像有关的问题
- sql - 我的平均值在 where 和 SQL 中都不起作用
- python - AWS Sagemaker Multi-Model Endpoint with Scikit Learn:使用训练脚本时出现 UnexpectedStatusException