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