【学习笔记】使用BatteryHistorian分析APP的耗电量

耗电量是衡量APP性能的一个重要参数,也和用户使用体验紧密相关;在这里记录测试APP耗电量数据的测试方法;

耗电量测试方法有:

1、硬件测试:借助功耗仪PowerMonitor、直流稳压电源Agilent 66319D等工具;(后面单独写一篇记录总结)

2、软件测试:PowerStat2.0、GT、BatteryHistorian;

这里先记录使用BatteryHistorian测试耗电量的方法;

1、获取bugreport

获取到bugreport后上传到BatteryHistorian进行分析;

需要注意的是,统计数据之前需要使用下面的命令将以前的累积数据清空:

adb shell dumpsys batterystats --reset

取出保存耗电量数据:

adb bugreport D:\bugreport\bugreport

2、使用BatteryHistorian分析bugreport

以下是BatteryHistorian的两种安装方式:

Docker安装BatteryHistorian

源码编译安装BatteryHistorian

这里使用了源码编译安装BatteryHistorian的方法;

(1)启动BatteryHistorian--Git Bash输入命令启动

(2)浏览器打开 http://localhost:9999/,选择bugreport后submit:

(3)查看结果:

3、数据分析

待补充

参数说明
CPU runingcpu运行的状态
Kernel only uptimeKernel单独运行时间
Userspace wakelock用户空间申请的锁
Screen屏幕是否点亮
Battery level电池当前电量
Temperature电池温度
Top app当前在内存中的应用,按内存占用率排序
Activity Manager Proc活跃的用户进程
Crashes(logcat)某个时间点出现crash的应用
Doze是否进入doze模式 Device
active和Doze相反
JobScheduler异步作业调度
SyncManager同步操作
Temp White List电量优化白名单
Phone call是否打电话
GPS是否使用GPS
Network connectivity网络连接状态(wifi、mobile是否连接)
Mobile signal strength移动信号强度(great\good\moderate\poor)
Wifi scan是否在扫描wifi信号
Wifi supplicant是否有wifi请求
Wifi radio是否正在通过wifi传输数据
Wifi signal strengthwifi信号强度
Wifi runningwifi组件是否在工作(未传输数据)
Wifi on同上
Camera相机是否在工作
Audio音频子系统?
Foreground process前台进程
Package install是否在进行包安装
Package active包管理在工作
Plugged连接usb或者充电
Charging on在充电
Logcat misc是否在导出日志

 

 

 

 

4、耗电优化

待补充

改善软件耗电情况,从以下两方面入手:

1、手机系统层面-----应用软件运行的载体;Google和Rom厂商,在系统层面做一些策略,在保证应用的用户体验前提下,尽量限制应用的不必要耗电;

2、APP应用软件层面-----保证用户必要体验的前提下,尽可能减少不必要的操作;

参考书籍《移动APP性能评测与优化》

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值