51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 5563|回复: 5

[转贴] 想知道Android应用吃掉了多少电,怎么破?

[复制链接]

该用户从未签到

发表于 2014-11-12 10:51:46 | 显示全部楼层 |阅读模式
下面转了一篇搜狗测试同学写的一篇关于检测android应用耗电量的文章,根据密歇根大学一个实验室开发的开源软件改写而成的工具,希望与大家一起学习探讨

以下为转发的正文

虽然现在人人手持充电宝,但也不能让你的应用肆无忌惮的吃掉用户的手机电量,如何评测应用的耗电量,保证你的应用在同类产品中耗电少,正是本文想要探讨的话题

耗电定义
此处讨论的耗电,是指Android手机在脱离充电设备后,使用机身电池的情况。由于在不同的使用场景下,电池的输出电压(Voltage)和输出电流(mA)。电压统计单位一般为V(伏),电流统计单位一般为毫安(mA)。
耗电统计分为两个层次:
  • System(整体):统计系统中所有应用和服务的耗电情况,可以通过AndroidSDK中的API获取。
  • Application(应用):按比例分配到每个应用程序上的耗电情况。比例通过从/sys/devices/目录下不同的设备的log来计算得出。


耗电细分分类
Andorid耗电的地方主要分为以下几类:
1. LCD/OLED屏幕
2. GPS定位
3. 音频输出
4. GSM/3G/4G通信
5. WIFI通信
6. 其他传感器(陀螺仪、NFC等)

    Android SDK没有提供获取这些分类耗电统计的API,所以只能通过Android底层的Linux内核来统计。在Linux内核中,这些设备的使用情况都会记录为log。包括电压、电流等数据,存储在/sys/devices/目录下。
    Audio设备没有可以查询的log,只能hook系统调用,通过API计算进行粗略的统计。
CPU:/sys/devices/system/cpu/目录
WIFI:/sys/devices/virtual/net/eth0
GSM/3G:/sys/devices/virtual/net/rmnet0
GPS:/data/misc/gps.status
没找到这个对应的文件,和Audio一样,也是通过监听GPS事件来计算的,与机型相关。

耗电测试特点总结
1. Android上层(应用层)没有获取分类型耗电量的API
2. Android的Linux底层记录着设备使用的Log
3. 能够通过系统获取的耗电类型,获取的都是总量或者总量占比
4. 具体耗电多少mW(V×mA×t),和机型相关,每种类型需要测量在不同状态下的单位耗电量: p (mW/clock)
5. Hook系统调用或者系统log,统计在一定时间段内,进程调用的次数和时间(系统时钟数):t (clock)
6. 某进程总耗电量:E = p·t(mW)

监控耗电量的工具
密歇根大学一个实验室开发的一个开源软件。用来统计实验数据的。适配了三款手机:HTCG7(Dream)、HTCNexus One、MotorolaDROID 2
在此基础上利用上述方法改编了该工具,以Android输入法为例监控效果截图如下:



回复

使用道具 举报

  • TA的每日心情
    郁闷
    2018-10-8 15:32
  • 签到天数: 29 天

    连续签到: 1 天

    [LV.4]测试营长

    发表于 2015-3-10 17:36:36 | 显示全部楼层
    学到了,强!但是好像还是不会用
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-7-13 17:21
  • 签到天数: 11 天

    连续签到: 1 天

    [LV.3]测试连长

    发表于 2015-8-19 15:44:07 | 显示全部楼层
    图片怎么都看不见呢
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2015-8-21 14:19
  • 签到天数: 5 天

    连续签到: 1 天

    [LV.2]测试排长

    发表于 2015-12-1 13:11:57 | 显示全部楼层
    搜狗同学的分享,顶一下。
    另外图标看不到的问题,正在解决。
    回复 支持 反对

    使用道具 举报

    该用户从未签到

    发表于 2017-4-7 09:35:08 | 显示全部楼层
    不错,顶一下,图片看不到
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2017-5-18 17:28
  • 签到天数: 9 天

    连续签到: 1 天

    [LV.3]测试连长

    发表于 2017-5-18 17:25:58 | 显示全部楼层
    图片看不到
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-4-17 07:38 , Processed in 0.072133 second(s), 23 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表