Android 关于使用 AlarmManager 的注意事项
AlarmManager
经常被用来执行定时任务,比如设置闹铃、发送心跳包等。也许有人会有疑问:为什么不能使用相同具有定时效果的 Timer
和 Handler
呢?
其实答案非常简单,相对于 Handler
来说,使用 sendEmptyMessageDelayed
方法是依赖于 Handler
所在的线程的,如果线程结束,就起不到定时任务的效果;而 AlarmManager
依赖的是 Android 系统的服务,具备唤醒机制。比起 Handler
也就更合适了。