android项目运用jiffies来测量CPU耗电情况

android项目使用jiffies来测量CPU耗电情况

 调试android程序是否耗电时候可采用单位时间内监控jiffies的方式实现

 
  • 什么是jiffies
    全局变量jiffies用来记录自系统启动以来产生的节拍的总数。启动时,内核将该变量初始化为0,此后,每次时钟中断处理程序都会增加该变量的值。一秒内时钟中断的次数等于Hz,所以jiffies一秒内增加的值也就是Hz。
    系统运行时间以秒为单位,等于jiffies/Hz。注意,jiffies类型为无符号长整型(unsigned long),其他任何类型存放它都不正确。将以秒为单位的时间转化为jiffies:seconds * Hz,将jiffies转化为以秒为单位的时间:jiffies / Hz相比之下,内核中将秒转换为jiffies用的多些。
 
  • 调试方法
1.安装你的app后,尽量关闭无关app,将屏幕锁屏时间调至最大(一般是10分钟)
2.进入adb shell 中使用如下命令
ps | grep “你的app包名”
cat /proc/“进程号”/stat | awk -F " " '{print $14,$15}'
每隔10分钟记录下这两个值,做差值
第一个值是内核态jeffies,第二个值是用户态jeffies
3.比较优化后的app在相同测试时间的jeffies数,就可以判断你的程序的CPU耗电状况