Android性能专项测试之Systrace工具

Systrace Walkthrough
Systrace
Analyzing UI Performance with Systrace
Speed up your app

Systrace能做什么?

  • 计算容器的性能
  • 发现性能的瓶颈

Systrace的使用准备

  • 4.1以上
  • root
  • Android SDK Tools 20
  • python环境

Systrace启动

你可以通过命令行或者Device Monitor两种方式收集Systrace信息,以下以命令行为例介绍收集方式(因为我Device Monitor的方式报错)。
首先进入sdk下的platform-tools/systrace目录下:
这里写图片描述
然后在命令下执行以下命令来收集数据:
python systrace.py --time=10 -o mynewtrace.html sched gfx view wm

上面的参数–time为间隔时间,-o为文件名,更详细的参数信息如下:

参数名意义
-h,--help帮助信息
-o <FILE>保存的文件名
-t N,--time=N多少秒内的数据,默认为5秒,以当前时间点往后倒N个时间
-b N,--buf-size=N单位为千字节,限制数据大小
-k <KFUNCS> --ktrace=<KFUNCS>追踪特殊的方法
-l,--list-categories设置追踪的标签
-a <APP_NAME>,--app=<APP_NAME>包名
--from-file=<FROM_FILE>创建报告的来源trace文件
-e <DEVICE_SERIAL>,--serial=<DEVICE_SERIAL>设备号

其中标签可选项如下:

标签名意义
gfxGraphics
inputInput
viewView
webviewWebview
vmWindow Manager
amActivity Manager
audioAudio
videoVideo
cameraCamera
halHardware Modules
resResource Loading
dalvikDalvik VM
rsRenderScript
schedCpu Scheduling
freqCpu Frequency
membusMemory Bus Utilization
idleCpu Idle
diskDisk input and output
loadCpu Load
syncSynchronization Manager
workqKernel Workqueues

以上标签并不支持所有机型,还有要想在输出中看到任务的名称,需要加上sched.

上面的命令执行完后,会生成一个html文件:
这里写图片描述
打开该文件后,我们会看到如下页面:
这里写图片描述

systrace快捷键

快捷键作用
w放大
s缩小
a左移
d右移
f返回选中区域,切放大选中区域

这里写图片描述

Alerts

Alerts一栏标记了以下性能有问题的点,你可以点击该点查看详细信息,右边侧边栏还有一个Alerts框,点击可以查看每个类型的Alerts的数量:

这里写图片描述

Frame

在每个包下都有Frame一栏,该栏中都有一个一个的F代表每一个Frame,用颜色来代表性能的好坏,依次为绿-黄-红(性能越来越差),点击某一个F,会显示该Frame绘制过程中的一些Alerts信息:
这里写图片描述

如果你想查看Frame的耗时,可以点击某个F标志,然后按m键:
这里写图片描述

  • 5
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值