定时器和报警pipe理器的区别

我对Android中使用的TimerAlarmManager有点困惑。

他们之间的主要区别是什么?

他们都在计划每秒运行一个任务。 那么他们最喜欢使用的主要场景是什么?

例如,对于X情况,使用Timer但另一方面,对于Y情况,使用AlarmManager

Solutions Collecting From Web of "定时器和报警pipe理器的区别"

Timer将启动一个线程,将跟踪何时开始您的代码。 如果设备睡着了,计时器线程和代码也不会按时执行。 另一方面, AlarmManager的警报是内核级的。 根据您注册的方式,您可以请求唤醒设备,或在下次唤醒设备时执行。 一般来说,报警是可取的,而且使用较less的资源

计时器启动一个服务,它甚至认为它实际上没有做任何事情,它执行代码很频繁。

另一方面,Alarmmanager将始终启动一个在后台运行的服务,这就是您希望用来计划代码在应用程序未打开时运行的情况。