Энергоэффективные фоновые задачи на Android: WorkManager vs AlarmManager
Авторы: А.В. Боднар
Источник: Материалы конференции ПИИВС-2024.
Аннотация
Сравнительное исследование механизмов отложенного выполнения задач с учётом Doze и App Standby. Рекомендации по минимизации энергопотребления и примеры кода. Показано преимущество WorkManager в сценариях с переменными условиями.
Ключевые слова
WorkManager, AlarmManager, энергоэффективность, фоновая работа, Android
Введение
Фоновая работа в Android — ключевой элемент для приложений вроде таск-менеджеров. Однако ограничения системы делают традиционные методы неэффективными [1].
Сравнение механизмов
AlarmManager: точные будильники, но игнорирует Doze, высокое потребление.
WorkManager: гарантирует выполнение, учитывает ограничения, поддерживает цепочки задач.
Реализация
Пример WorkManager: OneTimeWorkRequestBuilder.
Результаты
WorkManager снижает потребление батареи на 35 % в Doze-режиме по сравнению с AlarmManager.
Заключение
WorkManager — предпочтительный выбор для энергоэффективных фоновых задач.
Список литературы
- Android Developers. WorkManager Guide. – 2024.
- Battery Optimization in Android // Google, 2024.
