Perfetto —— 靠谱的trace利器

本文讲述了作者如何通过 Perfetto 工具解决安卓 CTS 测试中帧率不符预期的问题,详细步骤包括开启traceUI、录制trace、复现场景并分析Perfetto UI。重点介绍了使用Perfetto替代传统工具如systrace和atrace的便捷之处。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近踩到的坑,报了一个cst的测试项fail,帧率不符合预期,对应的测项进程是android.view.cts

肯定是要抓sytrace看看了

但是,试了systrace和atrace去抓,只抓了launcher的绘制,并没有android.view.cts的绘制信息

用-a指定app也是一样

经过实验,可以试下perfetto抓取(果然,google极力推荐使用还是没错的,要跟上工具的变化)

1、开启trace UI

am start com.android.traceur/com.android.traceur.MainActivity

需要开启开发者模式的,不然会打开闪退,因为对应的IAtrceService没有启动

settings put global development_settings_enabled 1

2、开启record trace,即可开始录制

3、复现场景

4、再次启动trace UI,关闭record trace

5、获取trace文件

/data/local/traces/

6、打开Perfetto UI ,加载trace文件分析

可以抓到cts的测项trace了

也可使用open with legacy UI,使用传统的systrace UI去分析trace,只是大小有限制,试过一百多M就直接报error,而perfetto仍然可以打开

备注:也可以用命令去抓,参考perfetto  |  Android 开发者  |  Android Developers (google.cn),就是麻烦了点

Perfetto:

开启traced|traced_peobes进程

setprop persist.traced.enable 1

ps -ef | grep -E "traced|traced_peobes"

perfetto -o /data/misc/perfetto-traces/trace_log -t 120s -b 100mb -s 150mb sched freq idle am wm gfx view input

atrace:

atrace -t 10 -b 20480 gfx sched sync view input webview wm am hal res rs video -o /data/a.trace

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值