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