关闭

Android性能专项测试之Batterystats

11606人阅读 评论(3) 收藏 举报
分类:

Batterystats & Battery Historian Walkthrough
Battery Historian Charts
Android应用的耗电量统计
SupplicantState
Viewing Battery Use Data

batterystats使用条件

  • 5.0以上系统
  • battery-historian脚本

batterystats的启动

启动统计Battery数据的话,首先要初始化batterystats数据

adb kill-server

> adb devices

> adb shell dumpsys batterystats --reset

上面的操作执行完毕后,拔掉手机,操作你的App,操作完成后,重新连接手机,执行下面的命令,收集Battery数据:
adb shell dumpsys batterystats > batterystats.txt
得到这些数据后,这个时候使用我们的battery-historian来生成我们可见HTML报告:
python historian.py batterystats.txt > batterystats.html

得到的报告如下:

这里写图片描述

Battery Historian指标

Android性能专项测试之battery-historian试用 一文中已经介绍了一些属性,但是目前又增加很多,下面来看看新加属性的意义:

属性 意义
gps gps是否开启
sync 是否跟后台同步
mobile_radio 是否开启radio
wake_reason 唤醒原因
phone_in_call 进行通话

batterystats信息过滤

Battery History

电量相关数据的时间序列:

Battery History (0% used, 152 used of 256KB, 5 strings using 256):
                    0 (9) RESET:TIME: 2015-10-09-19-50-15
                    0 (2) 009 status=charging health=good plug=usb temp=324 volt=3683 +running +wake_lock +wifi_full_lock +audio +screen +plugged data_conn=lte phone_signal_strength=moderate brightness=bright +wifi_running +wifi wifi_signal_strength=4 wifi_suppl=completed top=u0a34:"com.google.android.googlequicksearchbox"
                    0 (2) 009 user=0:"0"
                    0 (2) 009 userfg=0:"0"
               +189ms (2) 009 volt=3660
               +216ms (2) 009 volt=3688
             +8s387ms (2) 009 +gps conn=3:"CONNECTED"
             +9s387ms (2) 009 -top=u0a34:"com.google.android.googlequicksearchbox"
             +9s387ms (2) 009 -gps +top=u0a130:"com.example.android.sunshine.app"
             +9s569ms (2) 009 +mobile_radio conn=3:"DISCONNECTED"
            +10s217ms (2) 009 volt=3577
            +17s294ms (2) 009 volt=3619
            +20s216ms (2) 009 volt=3576
            +21s530ms (1) 009 +wifi_scan
            +22s801ms (1) 009 -wifi_scan
            +29s842ms (1) 009 -mobile_radio
            +30s252ms (2) 009 volt=3616

Per-PID Stats

每一个进程执行了多长的时间

Per-PID Stats:
  PID 0 wake time: +396ms
  PID 868 wake time: +1s682ms
  PID 1402 wake time: +539ms
  PID 0 wake time: +6s473ms
  PID 868 wake time: +3ms
  PID 1723 wake time: +166ms
  PID 4841 wake time: +11m1s479ms
  PID 19942 wake time: +271ms
  PID 868 wake time: +42ms
  PID 21564 wake time: +172ms
  PID 15488 wake time: +67ms
  PID 4841 wake time: +6s512ms
  PID 4841 wake time: +6s512ms
  PID 18217 wake time: +126ms
  PID 3876 wake time: +228ms
  PID 868 wake time: +20s440ms
  PID 16547 wake time: +23ms
  PID 22121 wake time: +288ms
  PID 22146 wake time: +59ms
  PID 16424 wake time: +485ms

Statistics since last charge

Statistics since last charge:
  System starts: 0, currently on battery: false
  Time on battery: 0ms (0.0%) realtime, 0ms (0.0%) uptime
  Time on battery screen off: 0ms (0.0%) realtime, 0ms (0.0%) uptime
  Total run time: 34s 134ms realtime, 34s 134ms uptime
  Start clock time: 2015-10-09-19-50-15
  Screen on: 0ms (--%) 0x, Interactive: 0ms (--%)
  Screen brightnesses: (no activity)
  Connectivity changes: 2
  Mobile total received: 0B, sent: 0B (packets received 0, sent 0)
  Phone signal levels: (no activity)
  Signal scanning time: 0ms
  Radio types: (no activity)
  Mobile radio active time: 0ms (--%) 0x
  Mobile radio active adjusted time: 0ms (--%)
  Wi-Fi total received: 0B, sent: 0B (packets received 0, sent 0)
  Wifi on: 0ms (--%), Wifi running: 0ms (--%)
  Wifi states: (no activity)
  Wifi supplicant states: (no activity)
  Wifi signal levels: (no activity)
  Bluetooth on: 0ms (--%)
  Bluetooth states: (no activity)

Estimated power use (mAh)

目前只能算比较粗略的估计,不能作为实际消耗数据,期待google更为精准的数据

  Estimated power use (mAh):
    Capacity: 3220, Computed drain: -2444.11370879, actual drain: 0.00000000
    Idle: 24.7
    Uid u0a46: -0.01197222
    Uid u0a100: -0.04600000
    Uid u0a29: -0.07444444
    Uid u0a118: -0.14044444
    Uid u0a104: -0.73288889
    Uid 1000: -2.12172492
    Uid u0a14: -3.36807500
    Uid u0a99: -3.78076692
    Phone calls: -19.54370833
    Cell standby: -107.36537361
    Screen: -2331.64616000

Per-app mobile ms per packet

radio唤醒时间除以数据包发送次数,该时间越小代表性能越好,一个高效的App会将所有的流量转化为batches。

All partial wake locks

所有程序中wakelock,关注持续时间和数量

6.0的更新

试用了下6.0的batterystats,现在信息比5.0的更加全面,不但详细列举了不同app的耗电量,还把app中各个子模块的耗电量也输出了:

  Estimated power use (mAh):
    Capacity: 3220, Computed drain: 1163, actual drain: 451-644
    Screen: 361
    Uid u0a99: 189 ( cpu=13.2 wake=0.000408 radio=102 wifi=6.35 gps=67.8 )
    Uid u0a94: 127 ( cpu=6.99 wake=0.00528 radio=118 wifi=0.451 gps=0.181 sensor=0.836 )
    Uid 0: 111 ( cpu=30.2 wake=5.13 radio=75.0 wifi=0.242 )
    Cell standby: 79.8 ( radio=79.8 )
    Uid u0a95: 63.7 ( cpu=10.9 wake=1.59 radio=50.0 wifi=0.0566 camera=1.15 )
    Uid 1000: 61.1 ( cpu=59.9 wake=0.642 wifi=0.100 sensor=0.525 )
    Uid u0a98: 22.2 ( cpu=0.261 wake=0.00395 radio=21.9 wifi=0.0817 )
    Uid u0a100: 19.0 ( cpu=10.4 wake=0.00502 radio=7.90 wifi=0.624 gps=0.00150 sensor=0.0554 )
    Uid u0a35: 14.3 ( cpu=14.0 wake=0.158 wifi=0.0804 )
    Uid u0a15: 14.1 ( cpu=3.18 wake=1.72 radio=8.71 wifi=0.466 )
    Uid u0a108: 13.9 ( cpu=3.23 radio=10.6 wifi=0.0228 )
    Uid u0a103: 12.2 ( cpu=2.79 wake=0.00260 radio=8.11 wifi=0.811 gps=0.291 sensor=0.187 )
    Uid u0a110: 10.8 ( cpu=0.910 radio=9.92 wifi=0.00682 )
    Uid u0a105: 10.6 ( cpu=5.59 radio=4.95 wifi=0.0642 )
    Idle: 9.40
2
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android性能专项测试之Batterystats

Batterystats & Battery Historian Walkthrough Battery Historian Charts Android应用的耗电量统计 batte...
  • qhshiniba
  • qhshiniba
  • 2015-10-14 11:24
  • 11606

Android性能专项测试之battery-historian试用

数据准备battery-historian工具需要使用bugreport中的Battery History 数据,我们在开始的时候需要通过以下命令来打开电池数据的获取以及重置:adb shell d...
  • qhshiniba
  • qhshiniba
  • 2015-03-09 09:31
  • 17006

Android应用的耗电量统计

android “设置”中的“电量”是如何获取的?这篇文章可以带领你去阅读相关的源代码。
  • tangdl86
  • tangdl86
  • 2015-07-19 20:53
  • 19645

Android性能专项测试之Batterystats

转载于 http://www.2cto.com/kf/201510/445482.html Batterystats & Battery Historian Walkthroug...
  • sd19871122
  • sd19871122
  • 2016-06-17 10:51
  • 592

Android性能专项测试之Memory Monitor工具

参考文章: Memory Monitor Walkthrough Memory Monitor能做什么? 实时查看App的内存分配情况 快速判断App是否由于GC操作造成卡顿 快速判断App的C...
  • qhshiniba
  • qhshiniba
  • 2015-09-24 17:59
  • 18732

Android性能专项测试之battery-historian试用

数据准备 battery-historian工具需要使用bugreport中的Battery History  数据,我们在开始的时候需要通过以下命令来打开电池数据的获取以及重置: adb ...
  • sd19871122
  • sd19871122
  • 2015-10-13 10:06
  • 358

Android性能专项测试之耗电量统计API

参考文章:Android应用的耗电量统计 深入浅出Android App耗电量统计 耗电量APIAndroid系统中很早就有耗电量的API,只不过一直都是隐藏的,Android系统的设置-电池...
  • qhshiniba
  • qhshiniba
  • 2015-10-19 22:29
  • 9301

Android性能专项测试之Systrace工具

Systrace Walkthrough  Systrace  Analyzing UI Performance with Systrace  Speed up your app Syst...
  • zhangfei2018
  • zhangfei2018
  • 2015-10-15 16:44
  • 581

Android性能专项测试之MAT

Android性能专项测试之MAT 分类: Android性能2015-10-05 15:51 616人阅读 评论(0) 收藏 举报 目录(?)[+] ...
  • u011767040
  • u011767040
  • 2015-10-16 14:02
  • 263

Android性能专项测试之Heap Snapshot工具

Speed up your app Heap Snapshot能做什么? 获取Java堆内存详细信息,可以分析出内存泄漏的问题 Heap Dump启动 在内存面包中...
  • sd19871122
  • sd19871122
  • 2015-10-13 10:02
  • 397
    个人资料
    • 访问:1698978次
    • 积分:21732
    • 等级:
    • 排名:第392名
    • 原创:570篇
    • 转载:1篇
    • 译文:9篇
    • 评论:571条
    博客专栏