Android Systrace工具

Systrace是Android平台的性能分析工具,它记录设备活动并生成HTML报告。要使用systrace,需下载最新SDK Tools并安装Python环境。基本语法包括不同选项,官方推荐的通用命令简化了使用流程。生成的报告包含互动部分、CPU活动、系统事件和显示帧等信息,通过快捷键可以方便地浏览和分析。

摘抄自:https://developer.android.com/topic/performance/tracing

Systrace是Android平台提供的一款用于记录短期内设备活动的工具,记录的结果会集成在一个HTML文件中。

1. systrace命令

1.1 命令获取

Systrace工具通过systrace命令进行调用。要运行systrace命令,需要做以下准备:

  • 下载最新版本的Android SDK Tools。
    – systrace命令位于Android SDK Tools中,下载最新版本的SDK后,systrace命令就在android-sdk/platform-tools/systrace/目录下
  • 安装Python环境
    – systrace.py是一个Python文件,运行它需要Python环境

1.2 基本语法

systrace命令的使用格式如下:

python systrace.py [options] [categories]

相关的选项如下:

选项说明
-h | --help显示帮助信息
-l | --list-categories列出您的已连接设备可用的跟踪类别
-o file将 HTML 跟踪报告写入指定的文件。如果您未指定此选项,systrace 会将报告保存到 systrace.py 所在的目录中,并将其命名为 trace.html
-t N | --time=N跟踪设备活动 N 秒。如果您未指定此选项,则 systrace 会提示您通过从命令行按 Enter 键来结束跟踪
-b N | --buf-size=N使用N KB的跟踪缓冲区大小。使用此选项,您可以限制跟踪期间收集到的数据的总大小
-k functions | --ktrace=functions跟踪逗号分隔列表中指定的特定内核函数的活动
-a app-name | --app=app-name启用对应用的跟踪,指定为包含进程名称的逗号分隔列表。应用必须包含 Trace 类中的跟踪检测调用。您应在分析应用时指定此选项。很多库(例如 RecyclerView)都包括跟踪检测调用,这些调用可在您启用应用级跟踪时提供有用的信息
–from-file=file-path根据文件(例如包含原始跟踪数据的 TXT 文件)创建互动式 HTML 报告,而不是运行实时跟踪
-e device-serial | --serial=device-serial在已连接的特定设备(由对应的设备序列号标识)上进行跟踪
categories包含您指定的系统进程的跟踪信息,如 gfx 表示用于渲染图形的系统进程。您可以使用 -l 命令运行 systrace,以查看已连接设备可用的服务列表。

如果不想深入了解上的选项参数,Android官方提供了一条能够适用于大多数设备的指令如下:

python systrace.py -o mynewtrace.html sched freq idle am wm gfx view \
        binder_driver hal dalvik camera input res

2. 报告浏览

通过systrace后,我们会得到一个html报告(如果使用上面的命令,会得到一个名为mynewtrace.html报告),使用浏览器打开这个报告后,得到类似下图的网页:

systrace报告网页

2.1 快捷键

屏幕上有如下的四个选择按键,用于选择当前鼠标的功能,从上到下分别为:选择、移动、缩放和时间,在键盘上可以通过字幕上方的数字按键1~4来进行选中。
鼠标功能选择按键
除此之外,还有以下按键能帮助我们更加快速的阅读报告:

快捷键功能
w放大跟踪时间轴。
s缩小跟踪时间轴
a向左边平移时间轴
d向右边平移时间轴
m高亮当前选区
G在当前所选任务的开头显示网格
Shift + G在当前所选任务的末尾显示网格
向左箭头在当前选定的时间轴上选择上一个事件
向右箭头在当前选定的时间轴上选择下一个事件

2.2 报告阅读

报告从上到下分为:

  • 互动部分,与用户交互的应用或者游戏
  • CPU活动,记录CPU的活动情况
  • 系统事件
  • 显示帧,记录当前已创建的线程的状态
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值