因工作需要,了解了一些Android Systrace的使用和原理。我是看的大佬写的文章学习的,感觉很不错,这里转载记录一下。
系列文章:android systrace
Systrace 是 Android4.1 中新增的性能数据采样和分析工具。它可帮助开发者收集 Android 关键子系统(如 SurfaceFlinger/SystemServer/Kernel/Input/Display 等 Framework 部分关键模块、服务,View系统等)的运行信息,从而帮助开发者更直观的分析系统瓶颈,改进性能。它 的功能包括跟踪系统的 I/O 操作、内核工作队列、CPU 负载以及 Android 各个子系统的运行状况等。
Systrace实际上是通过使用atrace,atrace使用linux自带的ftrace来生成systrace的。
抓取Systrace:电脑需要有adb,手机进入开发者模式,打开你需要分析性能的应用界面,电脑上执行
adb shell atrace --async_start -b 20480 gfx am input view wm res idle freq sched 抓取
python systrace.py -o systrace.html -t 77 gfx am input view wm res idle freq sched dalvik sync 导出
使用chrome://tracing/或者https://ui.perfetto.dev/#!/网址可以查看生成的systrace.html文件,后者是前者的升级版,功能更全面,可以抓systrace。