尽量让你的闹钟频率最小; 如果不是必要的情况,不要唤醒设备(这一点与闹钟的类型有关,本节课后续部分会提到); 触发闹钟的时间不必过度精确; 尽量使用 setInexactRepeating()方法替代...当你使用 setInexactRepeating()方法时,Android系统会集中多个应用的重复闹钟同步请求,并一起触发它们。这可以减少系统将设备唤醒的总次数,以此减少电量消耗。...注意虽然 setInexactRepeating()是 setRepeating()的改进版本,它依然可能会导致每一个应用的实例在某一时间段内同时访问服务器,造成服务器负荷过重。...对于大多数应用而言, setInexactRepeating()会是一个正确的选择。当你使用该方法时,Android系统会集中多个应用的重复闹钟同步请求,并一起触发它们。这样可以减少电量的损耗。...使用 setRepeating()时,你可以制定一个自定义的时间间隔,但在使用 setInexactRepeating()时不支持这么做。
setRepeating(int type, long triggerAtTime, long interval, PendingIntent operation) //注册一个非精密的重复类型定时器 void setInexactRepeating
3.使用setInexactRepeating()来替换setRepeating(),Android会同步触发多个应用重复的Alarm。可以减少系统唤醒设备的总次数,从而减少了电池的耗电量。
setInexactRepeating(int type,long startTime,long intervalTime,PendingIntent pi); 该方法也用于设置重复闹钟,与第二个方法相似
setInexactRepeating(int type,long startTime,long intervalTime,PendingIntent pi) 该方法也用于设置周期定式服务,与上一种类似
被调度的不同方法,设置不同的值,如果该alarm是 setExact()或setAlarmClock()方法调用的,该值为 AlarmManager.WINDOW_EXACT(=0),如果是 setInexactRepeating
领取专属 10元无门槛券
手把手带您无忧上云