移动性能测试 Android 性能测试初探 (五)

卡斯 · February 22, 2014 · Last by lee replied at May 11, 2017 · 3494 hits
本帖已被设为精华帖!

书接上文 Android 性能测试初探之 GPU(四)

前文说了的一些性能测试项大家可能都听说,接下来我们聊聊大家不常关注的测试项- 功耗

功耗测试主要从以下几个方面入手进行测试

  • 测试手机安装目标APK前后待机功耗无明显差异
  • 常见使用场景中能够正常进入待机,待机电流在正常范围内.
  • 长时间连续使用应用无异常耗电现象

功耗测试的方法分为两类,一类为软件测试,一类为硬件测试

我们先说说软件测试,这里我们会聊聊一些DIY的思路,软件测试一般分为2类,

  • 第一种采用市场上提供的第三方工具,如金山电池管家之类的。

  • 第二种就是自写工具进行,这里一般会使用3种方法

    • 第一种基于android提供的PowerManager.WakeLock来进行,
    • 第二种比较复杂一点,功耗的计算=CPU消耗+Wake lock消耗+数据传输消耗+GPS消耗+Wi-Fi连接消耗
    • 第三种通过 adb shell dumpsys battery来获取

接着说硬件测试,在这里我们一般使用万用表或者功耗仪进行测试,使用功耗仪测试的时候,需要制作假电池来进行的,有些不能拔插电池的手机还需要焊接才能进行功耗测试

功耗测试大体就说到这里,大家应该对功耗测试有一些了解了,下文将讲解流量,尽请期待

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 15 条回复 时间 点赞

我想知道 自己写工具和使用别人工具的区别

自己写的相对靠谱一点 不过最靠谱的还是属于使用硬件

自己要写一般都是采用第二种方法

Cool! 就是这个味儿↑↑↑↑↑↑

app的耗电量测试研究过一段时间,如lz所讲,主要是做的情景对比测试,使用工具是安捷伦66309D,一台数字稳压源,通过获取的电流量来反映手机的耗电情况。

如果使用adb shell dumpsys battery ,需要连接usb,这样会充电的,会不会不准啊?

#6楼 @gaoxing200851 adb有无线连接的方式

#7楼 @sanlengjingvv 无线连接的话,会不会因为wifi耗电引起不准?

#8楼 @gaoxing200851
保持策略相同,多版本对比。
不用adb,监控程序本身也会耗电。
即使有方法排除所有干扰得到一个耗电量,比如1小时10%,这算多算少?

#9楼 @sanlengjingvv ok,明白了,谢谢。

关于第二种:功耗的计算=CPU消耗+Wake lock消耗+数据传输消耗+GPS消耗+Wi-Fi连接消耗,能讲的再详细点吗?数据是怎么取到的?cpu是/proc/pid/stat?

#1楼 @lihuazhang 嘿嘿,这个我能回答你,自己写工具和使用别人的工具的区别,自己写的工具那叫定制,别人的工具那就是均码了。这样应该比较容易理解了吧

#6楼 @gaoxing200851 使用该命令屏蔽USB充电adb shell dumpsys battery set usb 0

恒温 [Topic was deleted] 中提及了此贴 18 Jul 15:54
卡斯 [Topic was deleted] 中提及了此贴 18 Jul 15:54
恒温 《Android 性能测试初探》合集 中提及了此贴 29 Nov 15:15

近期研究了下battery historian2.0,在使用adb bugreport > bugreport.txt 获取到数据后打开查询到单个app耗电量数据如下:
Uid u0a511: 5.09 ( cpu=1.34 wifi=0.452 gps=3.19 sensor=0.105 )
这个5.09的数据是否可以被信任(作为耗电量测试结果数据)?也使用了开启服务进行txt转换为html,页面展示信息为Device estimated power use 0.17%
%转换后的数据和5.09差不多。

卡斯 Android 性能测试初探 (六) 中提及了此贴 17 Jan 19:09

最好是拿仪器仪表来进行功耗的验证,楼主说的电量脚本检测。只能是android平台自身反馈出来的电量计算值

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up