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

Разработка энергоэффективной системы напоминаний для 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 показало следующие результаты:

УстройствоAlarmManagerWorkManagerПредложенный подход
Samsung S234.2 мАч/ч2.8 мАч/ч2.4 мАч/ч
Xiaomi 143.9 мАч/ч2.5 мАч/ч2.1 мАч/ч
Google Pixel 84.1 мАч/ч2.7 мАч/ч2.3 мАч/ч

Заключение

Предложенная система обеспечивает баланс между надёжностью уведомлений и энергопотреблением, что делает её подходящей для использования в productivity-приложениях.

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

  1. Google. WorkManager Documentation [Электронный ресурс]. – 2025. – Режим доступа: developer.android.com.
  2. Android 14 Background Restrictions // Google I/O 2025.
← Вернуться к списку публикаций