20

我对Android有点困惑TimerAlarmManager使用。

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

他们都在安排一个任务在每 A 秒运行一次。首选使用它们的主要场景是什么?

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

4

2 回答 2

32

ATimer将启动一个线程,该线程将跟踪何时启动您的代码。如果设备进入睡眠状态,计时器线程也会进入睡眠状态,您的代码也不会按时执行。AlarmManager另一方面, 的警报是内核级别的。根据您注册它们的方式,您可以请求唤醒设备,或在下次唤醒设备时执行。警报通常是可取的,并且使用较少的资源。

于 2013-01-29T09:21:10.793 回答
0

计时器启动一个服务,它非常频繁地执行代码,即使它实际上并没有做任何事情。

另一方面,Alarmmanager 将启动一个始终在后台运行的服务,这是您想要用来安排您的代码在您的应用程序未打开时运行的内容。

于 2013-01-29T09:06:14.960 回答