概述
在做android/linux系统产品时,不可避免要解决功能,性能,功耗,用户体验问题;
其中功耗问题不可忽视,嵌入式设备电池续航能力是产品竞争力重要一环。
功耗问题,我们需要powermonitor或者精密电源查看各个场景下的功耗;
最近遇到的问题是:系统进入light sleep时,电量图上出现每500ms一个突起(俗称毛刺),通过系统log也不能发现是进程在搞鬼;
后来通过同事介绍,得知android 源码路径下就有个很好的工具:external/chromium-trace/systrace.py
这个工具是运行在linux(android开发常用的环境ubuntu)下的pc工具;
前提是adb 能够使用,先adb root ,adb remount后执行下面的脚本:
external/chromium-trace$./systrace.py -b 32768 -t 5 gfx input view sched freq sync irq hal wm am sm workq -o mytest.html
生成mytest.html后用chromium浏览打开:
通过 w/a/s/d键盘上的几个按键操作来放大缩小向前向后操作 ,可以查看各个进程在各个cpu上的使用情况,及耗时情况,周期信息,及执行函数;
通过上述操作找到这个500ms为周期的突起是 ksmd,linux 内核的一个守护进程,用来做相同页合并的内存管理的进程;
另外一个好的工具strace也很好用!
最后
以上就是认真学姐为你收集整理的android系统功耗问题:systrace的全部内容,希望文章能够帮你解决android系统功耗问题:systrace所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复