三 Android O WiFi 电量(功耗)统计

本文探讨了Android O系统中WiFi在待机模式关闭时的电量统计问题,特别是WiFi扫描耗电。分析了由WifiStateMachine的ScanModeState触发的电量统计流程,以及WifiScanningService的扫描耗电统计。在某些情况下,即使WiFi未进行扫描,BatteryStatsService仍会统计扫描耗电,导致待机状态下电量消耗过高的矛盾。建议优化统计逻辑,确保在扫描完成后及时停止统计。
摘要由CSDN通过智能技术生成

流程图

秉承简单(提纲挈领)分享(交流)技术精神,本文尽力做到简化(凝练)关键环节以及流程。

本文以设备进入待机模式后,wifi 设置为关闭场景的进行分析,
其他的场景(分析flow类似,后面有时间补上):

  1. wifi 保存连接网络,进入待机 (wifi 不扫描,只有wlan 的fw逻辑处理与AP Router 的Ps-poll
  2. wifi 开启且无保存任何网络,进入待机(wifi 会以固定周期进行nlo/pno scan

wifi 以disable状态进入 stand by之后,为保证设备唤醒之后能快速启用wifi 网络,在stand by的mode下会在后台进行scan,周期性识别周围存在的网络。

其耗电统计flow主要有以下:
一、由WifiStateMachine 的ScanModeState触发的耗电统计
a. 由WifiStateMachine的状态机ScanModeState 触发给 WiFiStateTracker上报自己已开始Scan State,
b. WiFiStateTracker 进一步将统计状请求report 给到BatteryStatsService,
c. BatteryStatsService 收到请求后,开始对wifiStateTimer进行耗电时间统计

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值