Я работаю над приложением, в котором я должен выполнять некоторые повторяющиеся задачи с фиксированным интервалом (скажем, через 2 минуты), которые должны выполняться даже в режиме ожидания.Мои наблюдения упоминаются ниже -
- Выполнение повторяющейся задачи с использованием сигналов тревоги (с использованием флага RTC) не является точным.Система Android пакетирует сигналы тревоги.Если мы используем RTC_WAKEUP, то он лучше, чем RTC, но он показывает количество WAKEUP в Android Vitals, что не очень хорошо.
- Jobschedulers полезны, но не будут работать в течение меньшего интервала, например 2 мин.Я пробовал Firebase Jobdispatcher, но это тоже не очень точно, я запустил работу с 2-минутным временем запуска, но оно варьировалось от 10-20 минут.
- Использовал обработчики и таймеры для повторения задачи в службе Foreground.В этом сценарии служба Foreground продолжает работать в режиме ожидания, но обработчики и таймер перестают повторять задачу.Я прочитал о Handlers.postDelayed () и обнаружил, что это также зависит от режима ожидания.
Я не хочу приобретать WAKELOCK для этой повторяющейся задачи.
Может кто-нибудь пожалуйстапредложите мне какой-нибудь лучший / более чистый способ, которым мы можем выполнить короткое интервальное повторение задачи в режиме ожидания?
Для справки -
Android: Какой лучший способ сделать повторяющиеся фоновые задачиAndroid Oreo готов?
Как режим ожидания влияет на фоновые / передние службы, с / без частичных / полных пробуждений?