Ampere 中文文档 下载 App

电流读数从哪儿来 — Ampere 怎么拿到 mA 数据

Ampere 不自己做硬件测量

Ampere 本身没有任何硬件电路,它是一个纯软件读取工具。它的数据来源是手机内置的电池管理系统(Battery Management System, BMS) —— 每个智能手机的电源管理芯片里都有一个电流传感器,实时监测电池的充放电电流。

App 启动后会向 Android 系统请求访问电池 API,然后读取 BMS 提供的电流数值,加上自己的统计处理后展示给用户。

为什么会有读数不准的时候

因为 Android 系统的电池 API 设计初衷不是为了精确电流测量,而是为了估算电量百分比。手机厂商给 BMS 传感器的精度和刷新频率也参差不齐,所以 Ampere 的读数会受到以下因素影响:

因素影响
手机厂商固件有些厂商(如部分三星机型)固件里直接返回的是额定最大值,不是实际测量值
Android 版本早期版本 API 不完善,新版本有所改善但也不统一
电池管理策略某些省电模式下传感器会降频或关闭
充电方式无线充电、快充协议的电流路径和有线不同,传感器可能捕捉不准

读数的真正用途

Ampere 自己在应用描述里也强调了一点:不要把读数当作绝对科学数据。但它完全胜任以下场景:

在"条件相同、对比不同"这个场景里,Ampere 的参考价值很高。

打开 App 后那 10 秒在干什么

App 刚启动时显示"正在检测",这不是等待传感器就绪,而是在做采样统计:连续读取多次电流值,然后去掉最高的 10 个和最低的 10 个,用剩下的中间值取平均,最后把这个稳定值显示出来。这个设计是为了过滤掉充电时的瞬时电流尖峰(插上的一瞬间电流会跳一下)。

正在检测状态
首次启动时显示约 10 秒的检测过程

下一页讲不同颜色代表什么状态,然后在 采样原理 里详细拆解 50 次采样的处理方式。