[Android][Performance]使用系统内置System tracing抓取systrace

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u014175785/article/details/89532737

Android 9版本以后在设置——开发者选项中内置了一个【系统追踪】(System tracing)。该功能顾名思义,提供了不借助adb抓取systrace的工具。

抓取过程比较简单,分为两种:

I. 抓取

 1、直接抓取

  在设置——系统——开发者选项——系统跟踪(不同软件可能路径不太一样)中设置需要录制的类别(Categories)、缓冲区大小(Buffer Size)

  打开【录制跟踪记录】(Record trace)开始录制

  弹出通知后即可开始复现问题或是进行特定操作

  完成以后点击通知栏中的【点按即可停止跟踪】(Tap to stop tracing)即可停止并保存

 2、通过状态栏快捷按钮抓取

  在设置——系统——开发者选项——系统跟踪(不同软件可能路径不太一样)中设置需要录制的类别(Categories)、缓冲区大小(Buffer Size)

  打开【显示“快捷设置”图块】(Show Quick Settings tile)

  在下拉状态栏中找到【录制跟踪记录】(Record trace)并点击开始录制

  弹出通知后即可开始复现问题或是进行特定操作

  完成以后可再次点击快捷设置中的图标,或点击通知栏中的【点按即可停止跟踪】(Tap to stop tracing)停止并保存

扫描二维码关注公众号,回复: 6022477 查看本文章

II. 获取ctrace文件

 1、通过点击通知栏进行分享

  录制并保存完成后会在通知栏显示【已保存追踪记录】(Trace saved),点击即可通过各种分享界面将该文件分享出来

 2、通过adb pull获取

  保存的trace文件存放于/data/local/traces,可以通过adb pull进行提取

III. 转换ctrace文件

  提取的trace文件是扩展名为ctrace的二进制文件,无法直接使用Chrome的chrome://tracing导入分析,需要借助sdk提供的systrace工具进行转换:

  systrace --from-file trace-file-name.ctrace

  转换完成后会在原文件同目录下生成同名的.html文件,届时就可以通过Chrome导入进行分析了。

更多参考详见Android官网介绍:https://developer.android.google.cn/studio/profile/systrace-on-device

关于systrace的分析机巧可以参考官网介绍:https://developer.android.google.cn/studio/command-line/systrace?hl=en#java

猜你喜欢

转载自blog.csdn.net/u014175785/article/details/89532737