BetterBatteryStats (BBS) 保姆级教程
什么是 BetterBatteryStats?
BetterBatteryStats 是一款功能强大的 Android 电池分析工具,它不仅仅是简单地告诉你哪些应用耗电最多,而是能深入到系统层面,帮你找出导致手机耗电的“罪魁祸首”,

- 异常唤醒: 哪些应用在后台频繁唤醒 CPU,导致电量被偷偷消耗。
- 网络唤醒: 哪些应用在不需要网络时,仍然通过 Wi-Fi 或移动数据唤醒设备。
- 部分唤醒锁定: 哪些应用阻止了 CPU 进入深度睡眠,让手机无法“彻底休息”。
- 硬件问题: 检测 GPS、传感器、摄像头等硬件是否被异常占用。
- 应用缺陷: 找出那些设计不佳、存在电量泄漏(Battery Leak)的应用。
BBS 是电池问题排查的“终极武器”。
准备工作:如何正确安装和使用
BBS 的数据收集依赖于 Android 的 dumpsys 命令,而普通应用没有权限直接执行,你需要授予它 Root 权限。
环境要求:
- 一台已 Root 的 Android 设备。
- 设备系统版本为 Android 5.0 (Lollipop) 及以上。
- 推荐使用 TWRP 或 Magisk 等 Root 方案。
安装步骤:

- 下载应用: 在 Google Play 商店或 F-Droid 上下载 BetterBatteryStats。
- 首次启动: 打开 BBS,它会提示你授予 Root 权限。
- 授权 Root:
- 对于 Magisk 用户: 打开 Magisk App -> 应用管理 -> BetterBatteryStats -> 点击“权限” -> 开启“存储”权限,然后回到 BBS,点击“请求 Root 权限”按钮。
- 对于 SuperSU 用户: BBS 会弹出 SuperSU 的授权请求,点击“允许”即可。
- 验证权限: 如果授权成功,BBS 的界面将完全可用,并且会显示“Root 已授权”或类似状态,如果失败,请检查你的 Root 工具是否工作正常。
核心功能详解与使用流程
BBS 的界面看起来很复杂,但核心功能围绕着一个中心思想:“对比”,你需要将一个“基准状态”与一个“使用状态”进行对比,才能发现问题。
核心流程: 充电 -> 拔电 -> 使用 -> 再次充电 -> 分析
创建基准状态
这个状态代表你的手机在理想情况下的电池消耗情况。

- 操作: 将手机 充满电 (100%)。
- 在 BBS 中: 点击主界面上的
Create Baseline(创建基准) 按钮。 - 记录: BBS 会记录下当前所有应用的电池使用情况、唤醒次数、网络活动等数据作为“基准”,你可以给这个基准命名,充满电基准”。
使用手机并收集数据
这是最关键的一步,你需要模拟你日常的使用场景。
- 操作: 拔掉充电器,像平常一样使用手机(刷微信、看视频、玩游戏、听音乐等),直到电池电量下降到你认为有问题的水平(下降 20%-30%)。
- 在 BBS 中: 当电量下降到你想要的水平时,点击主界面上的
Get Stats(获取统计) 按钮。 - 记录: BBS 会收集当前所有数据,你可以给这次统计命名,日常使用后”。
分析数据(最核心的步骤)
你有了一个“基准”和一个“使用后”的数据,可以进行对比了。
- 操作: 在 BBS 的主界面,选择你刚刚创建的“日常使用后”的数据。
- 关键对比: 点击屏幕顶部的
Delta(增量/差值) 按钮,这是 BBS 的灵魂所在!
点击 Delta 后,BBS 会显示两个数据集之间的差异,我们的目标就是找到那些 **Count (次数)、Time (时间)、Wakelocks (唤醒次数)` 等数值异常增大的项目。
重点数据解读(如何找到问题)
在 Delta 视图下,重点关注以下几个标签页和指标:
Partial Wakelocks (部分唤醒锁定) - 【重中之重】***
- 是什么: 这是导致后台耗电最常见的原因,当应用需要执行一些任务时,它会向系统申请一个“唤醒锁定”,这会阻止 CPU 进入睡眠状态,从而持续耗电。
- 怎么看:
- 排序: 点击
Count(次数) 或Total Time(总时间) 列进行降序排序。 - 寻找异常值: 找到那些
Count或Total Time数值非常高的进程或应用。 - 例子: 如果你看到一个名为
android或com.google.android.gms的进程有大量的wakelock,这很可能是系统或 Google 服务在同步数据,但如果一个你不常用的 App 也有很高的数值,那它就是嫌疑犯。
- 排序: 点击
Alarms (闹钟/定时器) - 【后台唤醒元凶】***
- 是什么: 很多应用通过设置定时闹钟来在后台唤醒自己,检查更新、推送消息等,这是另一种非常隐蔽的耗电方式。
- 怎么看:
- 排序: 同样按
Count或Total Time排序。 - 寻找异常值: 关注那些
Count数值极高的应用,一些应用会设置成千上万个闹钟,导致系统频繁唤醒。 - 例子: 某个新闻 App 每 5 分钟就设置一个闹钟来检查新文章,这就是不必要的耗电。
- 排序: 同样按
Kernel Wakelocks (内核唤醒锁定) - 【硬件层面问题】***
- 是什么: 这是比 Partial Wakelocks 更底层的唤醒,通常由驱动程序或硬件问题引起。
- 怎么看: 如果这里出现大量的、时间很长的
wakelock,通常意味着系统或硬件存在问题,而不是单个应用,可能需要刷机、更换内核或寻求 ROM 开发者的帮助。
Awake (保持唤醒) - 【整体睡眠状态】***
- 是什么: 显示设备总共保持唤醒的时间。
- 怎么看: 这个数值如果很大,说明你的手机大部分时间都没有进入深度睡眠,一直在工作,结合上面的
Partial Wakelocks和Alarms,就能找到是谁在“作祟”。
CPU (处理器使用情况)
- 是什么: 显示每个应用占用的 CPU 时间。
- 怎么看: 如果某个应用在后台没有操作的情况下,CPU 使用时间却很长,说明它在后台偷偷运行,耗电严重。
Mobile (移动数据) 和 Wi-Fi
- 是什么: 显示网络使用情况。
- 怎么看: 检查是否有应用在你不知情的情况下,频繁使用移动数据或 Wi-Fi 上传/下载数据。
实战案例:如何解决“待机耗电快”
假设你的手机充满电后,放在桌上不使用,2 小后掉了 10% 的电。
- 创建基准: 充满电后,在 BBS 中创建“充满电基准”。
- 待机测试: 拔掉充电器,将手机静置 2 小时。
- 获取数据: 2 小时后,连接充电器(非必须,但方便),在 BBS 中获取“待机2小时后”的统计。
- 分析 Delta:
- 打开
Delta视图。 - 首先看
Partial Wakelocks,发现com.some.social.app这个应用的Count高达 500 次,Total Time为 15 分钟。 - 再看
Alarms,发现同一个应用com.some.social.app的Count高达 600 次。
- 打开
- 定位问题: 罪魁祸首就是这个社交应用,它过于频繁地在后台唤醒自己来检查消息。
- 解决问题:
- 治标(临时): 在 BBS 中找到该应用,长按它,选择
Force Stop(强制停止) 和Disable(禁用) 它的后台活动、自启动和通知服务(BBS 提供此功能),或者直接进入系统设置,找到该应用,限制其后台活动。 - 治本(推荐): 使用 Greenify、Lynx 等应用来“绿化”该应用,让它
- 治标(临时): 在 BBS 中找到该应用,长按它,选择
