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

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

*What are the main differences between them*? 

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

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

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



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

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