Android 4.1 - 如何使用systrace做性能分析

举报
ShaderJoy 发表于 2021/12/30 01:05:58 2021/12/30
【摘要】 systrace是Android 4.1引入的一套用于做性能分析的工具,它基于Linux内核的ftrace机制(用于跟踪Linux内核的函数调用),可以输出各个线程当前的函数调用状态,并且可以跟当前CPU的线程运行状态,Display VSYNC间隔,SurfaceFlinger Window Composite间隔等系统信息在同一个...

systrace是Android 4.1引入的一套用于做性能分析的工具,它基于Linux内核的ftrace机制(用于跟踪Linux内核的函数调用),可以输出各个线程当前的函数调用状态,并且可以跟当前CPU的线程运行状态,Display VSYNC间隔,SurfaceFlinger Window Composite间隔等系统信息在同一个时间轴上进行对比,让我们分析程序在某个时间点在当前系统上下文上的运行状态变的更简单方便,比如你可以很容易分析出你的程序在UI线程的哪些函数占用了过多的时间,从而错过了当前的Window Composite导致掉帧。

Systrace example report

 

如何使用:

http://developer.android.com/tools/help/systrace.html

 

如何分析性能:

http://developer.android.com/tools/debugging/systrace.html

 

ftrace相关的一些资料:

http://www.kernel.org/doc/Documentation/trace/ftrace.txt

https://www.osadl.org/fileadmin/dam/presentations/RTLWS11/rostedt-ftrace.pdf

 

支持说明:

1,只在Android 4.1+支持

2,非原生的ROM如CM可能不支持,是否支持可以检查系统是否有这个目录 – /sys/kernel/debug/tracing

3,systrace.py脚本只能在Ubuntu下运行,Windows下面无法运行

文章来源: panda1234lee.blog.csdn.net,作者:panda1234lee,版权归原作者所有,如需转载,请联系作者。

原文链接:panda1234lee.blog.csdn.net/article/details/8693392

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。