Почему в Android Doze Mode мое приложение все еще работает? - PullRequest
0 голосов
/ 25 февраля 2019

Я играл с флаттером и создал демонстрационный проект с таймером, который печатает каждую секунду на консоль.

Используя команды из этого поста Я поставил эмулятор Genymotionв режиме ожидания.Я запутался, что мое приложение все еще печатает в logcat.Разве режим ожидания не предназначен для приостановки всех приложений и остановки их работы?или завершить процессы?

vbox86p:/ # dumpsys battery unplug
vbox86p:/ # dumpsys deviceidle step
Stepped to deep: IDLE_PENDING
vbox86p:/ # dumpsys deviceidle step
Stepped to deep: SENSING
vbox86p:/ # dumpsys deviceidle step
Stepped to deep: LOCATING
vbox86p:/ # dumpsys deviceidle step
Stepped to deep: IDLE
vbox86p:/ # dumpsys deviceidle step
Stepped to deep: IDLE_MAINTENANCE
vbox86p:/ # dumpsys deviceidle step
Stepped to deep: IDLE

Я также пробовал те же команды на физическом устройстве под управлением Android 6.0, и оно также не останавливает печать.

Я кладу приложение в фоновый режим, прежде чем выключать экран и запускать команды.

Что происходит?Должно ли приложение перестать печатать и процесс будет приостановлен?

Также нет активных вейк-шоков.Это от dumpsys power

Wake Locks: size=0

Suspend Blockers: size=4
  PowerManagerService.WakeLocks: ref count=0
  PowerManagerService.Display: ref count=0
  PowerManagerService.Broadcasts: ref count=0
  PowerManagerService.WirelessChargerDetector: ref count=0

Display Power: state=OFF
...