Процесс приложения Android уничтожается, когда оверлейное приложение, такое как мессенджер, находится на переднем плане

У меня есть приложение для Android, в котором есть процессы, скажем, Process1 и Process1:A.

Из Process1, когда делается конкретный вызов, Process1:A порождается. Когда процесс Process1:A запущен, он вызывает другую серверную службу и ожидает ответа. Пока он ожидает ответа, если я открою приложение с оверлеем, скажем, приложение DU Recorder и начну запись из меню оверлея, Process1:A будет внезапно убит, не оставив никаких следов в журналах относительно того, почему он умер. Пытался изучить методы onPause и onStop из жизненного цикла активности, они никогда не вызываются.

Мне не кажется, что это проблема с памятью. Телефон, на котором я тестирую, имеет почти 4 ГБ неиспользуемой оперативной памяти.

Пытался протестировать приложение, уничтожив процесс из студии Android во время его работы, и он автоматически возобновляет работу, но когда дело доходит до приложения наложения, оно просто внезапно умирает и никогда не возрождается, если я не перезапущу приложение вручную.

Аналогичное поведение наблюдается при отображении флэш-сообщения класса 0, когда Process1:A ожидает ответа.

Это то, что кто-то уже испытал или имеет представление об этом? Я также хотел бы знать, как ведет себя приложение, когда есть наложение с точки зрения жизненного цикла активности.

Обновление: похоже, это происходит только с Android 9 и не вызывает проблем с устройствами Android 8 и ниже. Я просмотрел журнал изменений/заметки о выпуске для Android 9, чтобы узнать, есть ли какие-либо изменения в способе работы уведомлений/оверлея, но не нашел ничего конкретного.

Вау, удивительно, что я единственный, кто столкнулся с этой проблемой здесь, и никто, похоже, не имеет ни малейшего понятия :(

user2442967 31.07.2019 01:53
3
1
107
0

Другие вопросы по теме