影响移动端 BLE 传输性能的原因分析
笔者最近遇到BLE传输性能问题,研究了一下BLE(低功耗蓝牙)传输效率的系统性瓶颈,涵盖链路层协议、系统调度、硬件共存、平台差异等核心维度,适用于 iOS/Android/HarmonyOS 三端,供大家优化参考。
1. 核心链路参数:BLE 传输的”天花板”
BLE 的理论速度首先受制于链路层(Link Layer)参数的协商,这些参数决定了 BLE 物理信道的利用效率上限。
1.1 Connection Interval(连接间隔)
BLE 是跳频通信,每隔一个 Connection Interval,双方才进行一次数据交换(Connection Event)。间隔越短,单位时间内可用的传输次数越多,吞吐量越高。
根据 Bluetooth Core Specification,Connection Interval 的规范范围为 7.5 ms ~ 4.0 s,以 1.25 ms 为步进 [1]。各平台的实际限制如下:
| 平台 | 最小值 | 推荐值 | 备注 |
|---|---|---|---|
| iOS | 15ms(CoreBluetooth) | 15~20ms | HID 设备可达 11.25ms;普通设备若请求 15ms,部分机型可能平衡至 30ms [2] |
| Android | 7.5ms | 15~20ms | 后台/Doze 模式下系统可能拒绝低功耗模式外的激进参数请求 [3] |
| HarmonyOS | 7.5ms | 15~20ms | 受限于系统电源策略,高功耗场景自动延长 |
关键机制:每个 Connection Event 内可以包含多个 PDU(Protocol Data Unit)。若设备支持 DLE(Data Length Extension,见 1.3),单个 Connection Event 可承载更多数据。