У меня есть служба, которая регистрирует приемник для обновления виджетов домашнего экрана (батарея).Когда виджет впервые выводится на экран, запускается служба, и иногда у нее есть: 1 процесс и 1 служба (как и должно быть), но в других случаях процессы AdMob также появляются и остаются там неопределенно долго.Другой способ заставить процессы AdMob запускаться и оставаться там, когда приложение закрыто (даже после adView.destroy ();), состоит в том, чтобы открыть основное приложение и закрыть его.
Кажется, проблема возникает из-за API Androidверсия 26 и выше, нет проблем в версии 24-25 (Nougat).
Как воспроизвести проблему:
- Установите Пример приложения
- Поместите виджет "Пример баннера AdMob" на домашний экран.
- количество процессов в этой точке может варьироваться (противоречивый результат), протестированное на API 26
- Открыть главное действие и закрыть его.
- Открыть«Запущенные сервисы» из опций разработчика На этом этапе вы должны увидеть 2-5 (разных) процессов и 1 сервис, которые остаются там на неопределенный срок, как вы можете видеть в этой демонстрационной видеозаписи .
Как вы, возможно, понимаете, это приводит к тому, что приложение занимает больше памяти, чем простая служба, и, скорее всего, будет уничтожено системой, из-за чего перестанет работать виджет батареи.
Понятия не имею, какЧтобы решить эту проблему, я попытался обратиться за помощью в " Технический форум Google Mobile Ads SDK ", но похоже, что они не имеют ни малейшего понятия о том, как помочь.
Любые отзывы приветствуютсяСпасибо.