当前位置:   article > 正文

Android Q新特性:Delay the ACTION_CHARGING broadcast_delay charging

delay charging

1.1 目的
为了提升用户的充电速度的体验
 
1.2 之前存在的问题
首先,我们知道,在手机充电的过程中或者在电量大于90%,系统会发送ACTION_CHARGING广播,对于第三方应用或者系统应用来说,它们接收到这个广播后会做很多比较好电的工作。我们想象一个场景,用户手机没多少电了,他们想快速充一下电后立马用,比如说他们希望电量增加20%后立马用起来,但是对于android Q之前的系统而言,当你手机充电后,系统发送ACTION_CHARGING广播,系统中所有应用收到广播后立马去做比较耗电的工作。那么,充电速度肯定会受到影响,用户等待的时间会比较长。
 
1.3 解决方案
把ACTION_CHARGING延迟发送,默认延迟15min钟。详细信息如下:
core/java/com/android/internal/os/BatteryStatsImpl.java::setBatteryStateLocked
  Android Q之前:的逻辑是只要当前电量大于上一次电量,那么就会setChargingLocked(true),进而触发:ACTION_CHARGING
  Android Q上:这个逻辑被删除,首先判断这个ACTION_CHARGING有没有被延迟过,如果没有那么,就会post一个延迟消息出去,默认延迟15min,

                                

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小桥流水78/article/detail/902029
推荐阅读
相关标签
  

闽ICP备14008679号