Разработка энергоэффективной системы напоминаний для Android-приложений с использованием WorkManager
Авторы: М.В. Золотовский, А.В. Боднар
Источник: Материалы Всероссийской научно-практической конференции «Программная инженерия: методы и технологии разработки информационно-вычислительных систем» (ПИИВС-2025), Том 1.
Аннотация
В работе рассмотрены современные ограничения фоновой активности в Android 12–14, предложена гибридная система напоминаний на основе WorkManager, exact alarms и адаптивного экспоненциального back-off. Приведены результаты тестирования энергопотребления на устройствах Samsung, Xiaomi и Google Pixel. Показано снижение потребления батареи на 42 % по сравнению с традиционным использованием AlarmManager.
Ключевые слова:
Android, WorkManager, энергопотребление, напоминания, Doze, App Standby
Введение
С версии Android 6.0 Google ввёл жёсткие ограничения на фоновую активность приложений, что значительно усложнило разработку надёжных систем уведомлений. Doze-режим, App Standby и Background Execution Limits привели к тому, что традиционные подходы с использованием AlarmManager стали практически неприменимы в современных приложениях. В то же время 68 % пользователей таск-менеджеров отмечают важность своевременных напоминаний как ключевого фактора удержания [1].
Анализ существующих решений
Традиционный AlarmManager имеет ряд недостатков: высокое энергопотребление, игнорирование Doze-режима, необходимость постоянных разрешений. WorkManager, появившийся в 2018 году, решает многие из этих проблем, но требует правильной настройки для достижения максимальной эффективности [2].
Предложенная архитектура
Разработана гибридная система, сочетающая WorkManager для периодических задач, exact alarms (с запросом разрешения) для критических событий и адаптивный back-off для минимизации вызовов. Алгоритм корректирует интервалы уведомлений в зависимости от уровня заряда батареи и активности пользователя.
Реализация
Основной компонент — SmartNotificationManager, инкапсулирующий логику выбора механизма уведомлений. Для задач с высокой критичностью используется AlarmManager.setExactAndAllowWhileIdle(), для периодических — WorkManager с OneTimeWorkRequest.
Результаты тестирования
Тестирование на Samsung Galaxy S23, Xiaomi 14 и Google Pixel 8 показало следующие результаты:
| Устройство | AlarmManager | WorkManager | Предложенный подход |
|---|---|---|---|
| Samsung S23 | 4.2 мАч/ч | 2.8 мАч/ч | 2.4 мАч/ч |
| Xiaomi 14 | 3.9 мАч/ч | 2.5 мАч/ч | 2.1 мАч/ч |
| Google Pixel 8 | 4.1 мАч/ч | 2.7 мАч/ч | 2.3 мАч/ч |
Заключение
Предложенная система обеспечивает баланс между надёжностью уведомлений и энергопотреблением, что делает её подходящей для использования в productivity-приложениях.
Список литературы
- Google. WorkManager Documentation [Электронный ресурс]. – 2025. – Режим доступа: developer.android.com.
- Android 14 Background Restrictions // Google I/O 2025.
