前言
在 Android 手表、IoT 穿戴设备中,蓝牙 & WiFi 是仅次于屏幕、传感器 的第三大耗电模块。
连接不稳、搜不到设备、待机功耗偏高、频繁唤醒,90% 都和蓝牙 / WiFi 驱动、扫描策略、硬件状态有关。
本文从硬件原理 + Android 框架 + 测试定位 + 功耗优化四个维度,写给固件测试、底层开发、功耗工程师。
一、蓝牙 & WiFi 基础认知(硬件视角)
1. 蓝牙(Bluetooth)
- 主要用于:短距离、低功耗连接(耳机、手表、手环、外设)
- 典型芯片:集成在 SoC 内部,或独立 BT 芯片
- 功耗特点:
-
- 待机:很低
-
- 连接、扫描、传输:明显上升
-
- 高频扫描 → 功耗直接爆表
2. WiFi
- 主要用于:高速网络、大文件传输、投屏
- 功耗特点:
-
- 功耗远高于蓝牙
-
- 扫描、连接、传输时功耗很高
-
- 不用时必须彻底休眠
3. 手机 vs 手表 / IoT 差异
- 手机:WiFi 使用频繁,蓝牙多用于音频
- 手表 / IoT:几乎只靠蓝牙,WiFi 极少开
→ IoT 手表,蓝牙就是功耗核心
二、蓝牙 & WiFi 为什么会导致功耗高?
1. 蓝牙功耗高的常见原因
- 蓝牙一直在扫描,没有停止
- 连接后频繁重传、重连
- 低功耗模式(BLE)未开启
- 驱动异常,蓝牙未进入休眠
- 中断一直触发,无法深休眠
2. WiFi 功耗高的常见原因
- WiFi 息屏后不断扫描
- 断网后反复重试连接
- 驱动没下电,PMIC 供电一直开
- 高频心跳包、网络包唤醒系统
三、Android 蓝牙 & WiFi 框架
蓝牙流程
芯片上电 → Kernel 驱动 → Bluetooth HAL → 系统服务 → APP
核心控制:
- 扫描开关
- 连接参数
- 低功耗模式
- 休眠 / 唤醒策略
WiFi 流程
WiFi 驱动 → wpa_supplicant → WiFi HAL → 网络管理
核心控制:
- 扫描频率
- 息屏休眠策略
- 省电模式(WiFi Low Power)
四、测试视角:蓝牙 / WiFi 功耗问题定位方法(实战)
1. 看电流
- 息屏后电流仍偏高 → 无线模块没睡
- 电流周期性跳动 → 扫描 / 心跳在跑
2. 检查开关状态
- 蓝牙是否真关闭
- WiFi 是否自动扫描
- 后台是否有 APP 强制使用
3. 查看日志
- 蓝牙扫描日志
- WiFi 连接 / 断开日志
- 驱动异常打印
4. 硬件供电检查
- PMIC 对 BT/WiFi 的 LDO/DCDC 是否下电
- 不用时是否还在供电
5. 排除法
- 关闭蓝牙 → 功耗正常 = 蓝牙问题
- 关闭 WiFi → 功耗正常 = WiFi 问题
五、蓝牙 & WiFi 功耗优化实战
蓝牙优化
- 不用时彻底关闭扫描
- 使用 BLE 低功耗蓝牙
- 降低连接频率,减少数据上报
- 无数据时进入深度休眠
- 驱动支持自动下电
WiFi 优化
- 息屏后立即关闭 WiFi 扫描
- 无网络时停止重试
- 开启系统省电模式
- 不用时驱动卸载、PMIC 下电
手表 / IoT 黄金规则
- 能蓝牙就不用 WiFi
- 能不扫描就不扫描
- 能休眠就立刻休眠
六、测试总结
- 蓝牙 & WiFi 是 Android 设备待机功耗大户,IoT 手表尤其明显。
- 功耗高的根源:一直在扫描、一直在重连、驱动没休眠、供电没关。
- 测试定位思路:
电流现象 → 开关状态 → 日志分析 → 驱动 / PMIC 排查 - 优化核心:少扫描、少传输、多休眠、彻底下电。
- 理解无线硬件与功耗关系,才能真正做好低功耗设备。
结尾
下一篇:Android 充电 & BMS 电池管理系统原理与测试实战
讲充电芯片、快充协议、电量显示异常、发热、充不进电等硬件问题。
本文基于 Android 硬件、蓝牙 / WiFi、功耗测试经验编写,专注实战落地。
欢迎点赞、收藏、关注专栏,持续更新底层硬件干货。