Золотовский Михаил Витальевич

Энергоэффективные фоновые задачи на Android: WorkManager vs AlarmManager

Авторы: А.В. Боднар

Источник: Материалы конференции ПИИВС-2024.


Аннотация

Сравнительное исследование механизмов отложенного выполнения задач с учётом Doze и App Standby. Рекомендации по минимизации энергопотребления и примеры кода. Показано преимущество WorkManager в сценариях с переменными условиями.

Ключевые слова

WorkManager, AlarmManager, энергоэффективность, фоновая работа, Android

Введение

Фоновая работа в Android — ключевой элемент для приложений вроде таск-менеджеров. Однако ограничения системы делают традиционные методы неэффективными [1].

Сравнение механизмов

AlarmManager: точные будильники, но игнорирует Doze, высокое потребление.
WorkManager: гарантирует выполнение, учитывает ограничения, поддерживает цепочки задач.

Реализация

Пример WorkManager: OneTimeWorkRequestBuilder().setConstraints(constraints).build().

Результаты

WorkManager снижает потребление батареи на 35 % в Doze-режиме по сравнению с AlarmManager.

Заключение

WorkManager — предпочтительный выбор для энергоэффективных фоновых задач.

Список литературы

  1. Android Developers. WorkManager Guide. – 2024.
  2. Battery Optimization in Android // Google, 2024.
← Вернуться к списку публикаций