使用AlarmManager与Android处理器的不同情况

使用AlarmManager与Android处理器的不同情况,android,alarmmanager,android-handler,Android,Alarmmanager,Android Handler,请有人给我解释一下使用AlarmManager和Handler的不同情况,并举例说明。将这两种方法交替使用有什么缺点吗 谢谢。他们彼此关系不大。我假设您指的是在Handler上使用类似postDelayed()的东西进行轮询,这只是Handler的一个小功能 您可以在活动中使用postDelayed()(也可在视图的任何小部件或其他子类上获得)来执行活动本身内的简单计时事件 您可以使用AlarmManager进行定期后台操作,就像在Linux/OS X中使用cron或在Windows上使用计划任

请有人给我解释一下使用AlarmManager和Handler的不同情况,并举例说明。将这两种方法交替使用有什么缺点吗


谢谢。

他们彼此关系不大。我假设您指的是在
Handler
上使用类似
postDelayed()
的东西进行轮询,这只是
Handler
的一个小功能

您可以在活动中使用
postDelayed()
(也可在
视图的任何小部件或其他子类上获得)来执行活动本身内的简单计时事件


您可以使用
AlarmManager
进行定期后台操作,就像在Linux/OS X中使用
cron
或在Windows上使用计划任务一样。例如,如果您正在编写电子邮件客户端,则可以使用
AlarmManager
触发调用邮件服务器并检查新邮件的代码。用户可以选择电子邮件检查频率,这将决定
AlarmManager
触发代码的频率。

如果您计划使用AlarmManager,请查看BuzzBox SDK:它构建在它之上,您可以使用cron表达式安排任务。让我知道你的想法:我已经寻找这个答案好几天了;谢谢。如果手机关闭(屏幕变暗),处理程序不会执行postDelayed,但AlarmManager会执行吗?我有一个轮询代码,当手机一直处于开机状态时有效,但当手机处于睡眠状态时无效(或者当屏幕关闭但手机仍处于开机状态时,无论您如何称呼它);想知道我是否应该查找另一个bug,或者换成AlarmManager是否可能解决这个问题。@kyle:当手机处于睡眠状态时,没有任何东西运行,包括任何
postDelayed()
东西<如果使用正确,code>AlarmManager
可以唤醒手机。