Alarm框架层分析
第一部分子系统框架
2.核心流程分析:
1)启动alarm : 也就是我们的应用调用 set (setInexactRepeating) 的时候是怎么调用AlarmManager 的
找到AlarmManagerService.java 中的使用 mService 中调用 set 函数,然后set 函数 调用的是 setImpi 函数(也是AlarmManagerService.java ), 然后进行判断,是否在这个范围
然后最重要的就是 调用到 setImpLocked 是整个最重要的一点,以下用图来进行表示,先引入两个元素 (1)alarm 闹钟
(2)batch (闹钟容器)
setImpLocked 中 attemptCoalesceLocked(long whenElapsed,long maxWhen)起始闹钟 和终止闹钟时间参数 我们重点