Подтвердить что ты не робот

Разница между таймером и будильником

Я немного запутался в Timer и AlarmManager, используемых в Android.

В чем главные различия между ними?

Они оба планируют выполнение задачи каждые А секунд. И каков основной сценарий, который они предпочитают использовать?

Например, для ситуации X используйте Timer, но, с другой стороны, для ситуации Y используйте AlarmManager.

4b9b3361

Ответ 1

A Timer запустит поток, который будет отслеживать, когда начать свой код. Если устройство засыпает, так что таймер и ваш код не будут выполнены вовремя. С другой стороны, сигналы тревоги AlarmManager являются уровнями ядра. В зависимости от того, как вы их регистрируете, вы можете запросить пробуждение устройства или выполнить следующий раз, когда что-то пробудит устройство. Тревога обычно предпочтительнее и использует меньше ресурсов.

Ответ 2

Таймер запускает сервис, который очень часто выполняет код, даже считая, что он фактически ничего не делает.

Alarmmanager, с другой стороны, запустит службу, которая работает в фоновом режиме всегда, это то, что вы хотите использовать, чтобы запланировать запуск вашего кода, когда ваше приложение не открыто.