你是否了解APP耗电问题?深入探索 Android 电量优化,醍醐灌顶

batterystats 所记录的电量统计数据源自于 BatteryStatsService-电量统计服务,其实现类为 BatteryStatsImpl,内部正是使用的 PowerProfile 。

BatteryStatsImpl 为每一个应用创建与之对应的 UID 来监控器系统资源的使用情况,其统计了 12 大模块的电量消耗,如下所示:

  • Camera、Audio、Video

  • Bluetooth、Network、Wakelock

  • Sensor、Radio、Screen

  • WIFI、CPU、GPS

4、Battery Historian


特点

  • 1)、查看自设备上次充电以来各种汇总统计信息,而且可以选择对应的 App 查看详细信息。

  • 2)、可视化展示指标:

  • 耗电比例。

  • 执行时间、次数。

  • 3)、仅适合线下使用。

安装

  • 1)、安装 Docker

  • 2)、docker – run -p:9999 gcr.io/android-battery-historian/stable:3.0 --port 9999 (需要翻墙)

导出电量信息

  • 1)、使用 batterystats 命令重置手机电量:adb shell dumpsys batterystats --reset

  • 2)、使用 batterystats 命令获取电池数据权限并开启记录全面的电量信息:adb shell dumpsys batterystats --enable full-wake-history

  • 3)、测试完成后,使用 bugreport 导出电量信息:

  • 7.0和7.0以后:adb bugreport bugreport.zip

  • 6.0和6.0之前:adb bugreport > bugreport.txt

  • 通过 historian 图形化展示结果:python historian.py -a bugreport.txt > battery.html

上传分析

  • 1)、打开 http://localhost:

如果打不开,可以使用备用网站 https://bathist.ef.lc/

  • 2)、上传 bugreport 文件,点 Submit 提交即可。

Battery Historian 数据分析

Hitorian V2 — 电量统计图表

Add Metrics

在 Add Metrics 中我们可以增加更多的测量项。

CPU running

如果一直处于 running,则表明电量消耗比较高。

JobScheduler

选中 Job Scheduler 的某一个工作时间片,我们可以查看具体的 发生的时间、耗时以及次数,最重要的是它统计出来了是哪一个进程在使用这个 JobScheduler。

App Selection

  • 1)、选择要分析电量的指定 App。

  • 2)、点击右边区域的 System Stats 一栏可以在下方查看各个系统组件的电量百分比消耗详情,例如 Userspace Wakelocks。

主入口处的 Switch to Bugreport Comparison

选择多个文件进行上传对比。

5、电量专项测试


1)、耗电场景测试

  • 复杂计算。

  • 音视频播放。

2)、传感器相关

  • 使用时长

  • 耗电量

  • 发热

3)、后台静默测试

四、耗电优化

===============================================================

1、耗电优化的难点


  • 1)、「缺乏现场,无法复现」

  • 2)、「信息不全,难以定位」

  • 3)、「无法评估结果」

在 App 开发中,经常会由于某个需求场景或 代码 bug 而导致大量耗电。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值