引用:JackJiang 发表于 2021-09-06 12:39 引用:标准 AlarmManager 闹钟(包括 setExact() 和 setWindow())推迟到下一个维护期。 以上引自Android开发者官网的针对低电耗模式和应用待机模式进行优化,我自己也有在部分机型上验证过可行,但因为会出现上个评论说的那个“应用频繁唤醒系统耗电过多“的提示,所以并没有实际运用到生产环境上。 |
引用:椎锋陷陈 发表于 2021-09-06 11:05 你自已验证过,这么干是真的有效果是吧 |
关于最后的“对齐唤醒”我再补充一下: Android 6.0引入了低电耗模式与应用待机模式,并于Android 7.0加强了低电耗模式,去除了设备需要保持静止一段时间才能进入该模式的条件。 在这两种模式下,当设备处于未充电、息屏的状态下时,所有网络访问都会被阻止、所有Alarm操作都会被延迟。 系统会定期退出低电耗模式进入维护期,让应用重新完成被延迟的操作,但随着设备保持未充电、息屏的状态越来越久,维护期的间隔也会越来越长。 AlarmManager有提供应对这种模式的API,即使在这种模式下Alarm操作也能正常触发。 但是国内手机厂商大部分有“对其唤醒”的机制,即会把多个Alarm操作强制对齐到同一时间点再统一执行。 由于这种机制的存在,在低电耗模式与应用待机模式下,很难做到在精确的时间点执行任务,因此对我们的心跳策略的实现影响很大。 要做到也并非没有办法,可以使用setAlarmClock()去设置Alarm操作。 但是调用这个API触发Alarm操作后会退出低电耗模式,相当于与系统对着干,不少设备会提醒说你的应用频繁唤醒系统耗电过多。 除非你的应用用户粘度很高,否则大概率用户可能出于省电的原因卸载掉你的应用。 |
这个牛逼 |
引用:ming06007 发表于 2018-10-24 09:46 |
正在做心跳方面的处理,借鉴一下 |
学习中 |
引用:fanfu 发表于 2017-05-16 09:53 到技术专辑里系统地看看资料:http://www.52im.net/forum.php?mod=collection&op=all。 |
在做及时通讯。有没有安卓端心跳总是不明白。发送返回,三次握手。感觉自己学的都没法用啊。。还是不熟练惹的祸。 |
挺有想法的,先收藏 |
移动网络下的心跳算法是挺烦的,文章不错,有借鉴意义 |