这里说的是通过cpu,wifi,屏幕之类的功耗来

计算公式:

功耗的计算=CPU消耗+数据传输消耗+GPS消耗+Wi-Fi连接消耗+Wi-Fi连接消耗+Wake lock消耗+屏幕亮度的功耗

首先说CPU的耗电:

1 获取power_profile.xml文件:

每台android手机都在power_profile.xml中定义了各个硬件的单位时间的耗电量,单位mAh,意思是一个小时,能耗电多少mAh:

(1)power_profile.xml 存放在 /system/framework/framework-res.apk 包里;

(2)使用apktool将apk反编译,然后在 $output/res/xml 文件夹下找到该文件

power_profile.xml文件如下:

2 获取app的cpu时间(jiffies,1jiffies = 10ms):

(1)获取app的pid:adb shell ps | grep packagename

(2)获取pid执行时间:adb shell cat /proc/${pid}/stat

这个文件中的第14列到17列相加得到的就是从开机到此刻,app一共占用多少cpu时间,这里的单位是jiffies(记为systime)

(3)在测试场景下,两次systime相减得到的时间即为app的进程占用的cpu的时间,注意jiffies转换成s(app_total_time);

3 计算cpu的耗电量:

(1)获得测试时间内在各个频率下的占用时间,这个是整个系统占用时间:

adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state

(2)计算测试时间内每个频率的占用时间:

如:频率a占用了3s,频率b占用了2s,

则频率a的占用时间为 3 / 5 * app_total_time

(3)在power_profile.xml中定义该频率下的耗电,将对应时间转换成h,相乘即可得到该频率下的耗电;

(4)将各频率下的耗电相加就得到了该进程的耗电;

接下来计算network,screen,sensor的耗电,相加就是app的耗电。

ps:这种方法可以直接插着usb线来计算,(可能有人会说连usb线的话,会不会cpu的频率一直会高速运行就不准了,这里试验过在连接usb和不连usb线进行对比,发现cpu的功耗差别很低,可以忽略,所以插usb线对cpu的耗电测试没有影响)

安卓性能测试(四):耗电量(功耗计算)相关推荐

  1. 【硬件】芯片温度/功耗计算

    本博客参考:一纸沙漏的博客 芯片的四个温度 内核温度.封装表面温度.空气周边温度以及PCB板温度. TJ(Die Junction Temp) 芯片的硅核温度,就是芯片内部核心的温度,从英文缩写就可以 ...

  2. 低功耗产品休眠唤醒电池用电功耗计算

    嵌入式小型低功耗产品电池使用时间计算 原文链接:https://blog.csdn.net/liangcsdn111/article/details/89873898 电池功耗计算 根据低功耗产品耗电 ...

  3. 【SQL开发实战技巧】系列(十四):计算消费后的余额计算银行流水累计和计算各部门工资排名前三位的员工

    系列文章目录 [SQL开发实战技巧]系列(一):关于SQL不得不说的那些事 [SQL开发实战技巧]系列(二):简单单表查询 [SQL开发实战技巧]系列(三):SQL排序的那些事 [SQL开发实战技巧] ...

  4. 永磁直流无刷电机设计之路(四)——仿真计算分析

    永磁直流无刷电机设计之路(四)--仿真计算分析 在数学中,有限元法(FEM,Finite Element Method)是一种为求解偏微分方程边值问题近似解的数值技术.求解时对整个问题区域进行分解,每 ...

  5. sdram/ddr 功耗计算

    在进行嵌入式系统设计过程中总功耗的计算是一个无法绕开的问题,在总功耗的计算过程中尤其以SDRAM.DDR.DDR2等动态随机存储器件的功耗难以把握和计算.本人在进行电源IC选型时采用估算措施,一般嵌入 ...

  6. 你可能不知道的leakage功耗计算

    本文总结工具中进行leakage功耗计算的一般方法. 背景 leakage power在深亚微米下占比越来越高.在很多情况下,leakage power可能会占到芯片总功耗的30~50%. 即使在st ...

  7. 锁定计算机耗电吗,电脑24小时开着需要多少度电(电脑24小时耗电量及计算方式)...

    "我装机买多大电源合适啊?耗电一天要多少度?"有小伙伴问到这个问题,如果仅仅随口回复一个500W以上的电源就可以,肯定是没有问题的,但是你知道电脑究竟耗多少电吗?一度电究竟又能让电 ...

  8. matlab实验求不定积分函数,实验四用matlab计算积分

    实验四用matlab计算积分 实验四 用matlab计算积分 4.1积分的有关理论 定积分:积分是微分的无限和,函数在区间上的积分定义为 其中 从几何意义上说,对于上非负函数,记分值是曲线与直线及轴所 ...

  9. java 热量图实现_安卓实现计步器,能够计算卡路里的消耗

    [实例简介] 安卓实现计步器,能够计算卡路里的消耗.另外,可以设置目前是跑步还是走路,进行不同的计算. [实例截图] [核心代码] 67506250android-pedometer-master └ ...

  10. 超级英雄榜 | 四届量子计算黑客松大赛英雄榜公布,50位开发者成功上榜!

    量子计算黑客松大赛·英雄榜 量子计算被认为是未来具有颠覆性影响的新型计算模式之一,将在人工智能.数据搜索.材料设计.生物制药等方面具有极大的潜在应用价值,国内量子计算人才的培养迫在眉睫. 华为已经连续 ...

最新文章

  1. 轻谈 return i++
  2. FPGA学习及设计中的注意事项
  3. boost::hof::apply_eval用法的测试程序
  4. Arrays练习:字符串倒序排列
  5. 思维探索者:从问题到答案的思维过程 像侦探一样思考
  6. button 样式_Tkinter (3)---Button
  7. 测试用例思考:“用户登录”设置测试用例
  8. python简单图片处理
  9. 数据分析师的工作绩效到底是什么?
  10. Delta3D(6)教程:创建游戏角色-2
  11. 谷歌浏览器调试工具使用进阶(二)
  12. linux命令练习题
  13. 科大讯飞麦克风阵列AIUI开放平台基本操作初级
  14. 三、使用HM进行简单的视频隐写demo
  15. 给生命一段独处的时光
  16. 系列服务器大概多重,一台服务器有多重
  17. file:///Users/xmg/Desktop/xiangmu~Bsbdejie/BaisibudejieTheSecondtime/BaisibudejieTheSecond/Baisib...
  18. 向日葵Android受控端老版本,向日葵Android端版本更新:支持远程开关机
  19. 如何使用码云高校版批改学生作业? | 码云高校版最佳实践
  20. Halcon——测量边长

热门文章

  1. HTML——Http协议
  2. 智能交通IoT大数据平台
  3. excel提示磁盘空间不足磁盘已满无法打开或保存
  4. rk3399 usbwifi 调试命令
  5. 【数据库】02——关系模型是什么东东
  6. iOS开发 ---- 其他控件,弹窗,滑块,菊花,步进,分段等
  7. 45种美丽、免费的字体,适用于潮流的网页设计
  8. NetBox创建Unity本地服务器
  9. [附源码]java毕业设计学生档案管理系统
  10. 计算机毕业设计Node.js+Express洗浴管理系统(源码+程序+lw+远程调试)