Что такое Doze mode

«Что такое Doze mode» — вопрос из категории Android компоненты, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Doze mode — это механизм энергосбережения в Android (начиная с версии 6.0), который уменьшает потребление батареи, когда устройство неактивно.

Как работает:

  • Активируется после длительного простоя (без движения, экран выключен).
  • Ограничивает фоновые процессы, сетевые запросы, откладывает задачи JobScheduler/AlarmManager.
  • Периодически выходит в «окна поддержки» (maintenance windows) для выполнения отложенных задач.

Что делать разработчику:

  • Использовать JobScheduler/WorkManager для критичных фоновых задач.
  • Для срочных событий — AlarmManager.setExactAndAllowWhileIdle().
  • Проверять PowerManager.isDeviceIdleMode().
val powerManager = getSystemService(POWER_SERVICE) as PowerManager
if (powerManager.isDeviceIdleMode) {
    // Устройство в Doze — адаптируем логику
}