解决Android性能分析工具systrace使用时找不到section name(或者叫找不到tag)

一、我们先说可能的原因

如果找不到tag或者叫section name,有可能是
①beginSection和endSection没有成对出现
②命令行设置了-t N | --time=N,但是这个时间段没有执行tag所在的那段功能代码
比如说在Application中的onCreate中设置了tag,命令行中 -t 5(跟踪设备5秒),如果我们应用活着的时候,执行了这段命令,生成的html中肯定是找不到我们设置的tag的;再者就是如果应用是冷启动,命令行中还没提示Starting tracing… 这时App已经启动完成了,这也是不行的。
③检查一下App的包名是否写错了
④实在不行换个手机试一下,有的手机需要在开发者选项中打开trace的功能。

二、我的步骤

1.先在代码中设置tag,beginSection后别忘了endSection
TraceCompat.beginSection(“gogogo”);
TraceCompat.endSection();
2.连接真机或者模拟器运行代码(我的模拟器试了试也可以抓取到tag信息)
3.将程序杀死(如果不是对app启动进行的监控,这一步可以省略)
4.用终端cd到systrace.py所在目录
5.终端执行python systrace.py -a 包名 sched freq idle am wm gfx view binder_driver hal dalvik camera input res
在这里插入图片描述
这里我没有指定时间,如果未指定时间,则 systrace 会提示您通过从命令行按 Enter 键来结束跟踪。
6.在终端提示“Starting tracing (stop with enter)”后,再在手机或者模拟器上打开app(如果不是对app启动进行监控,这一步就是执行你要监控的那个操作,比方说监控页面跳转,就执行页面跳转的操作),主页面加载完成后,点击键盘Enter。
在这里插入图片描述
7.打开trace.html
搜索之前设置的tag 或者叫section name ,我的叫gogogo
在这里插入图片描述

注意

1.如果要在跟踪输出中查看任务的名称,则必须在命令参数中包含sched
2.如果执行命令后报一句
These categories are unavailable: ***说明当前设备不支持这个类别或选项
查看当前设备所支持的类别或选项:
python systrace.py --list-categories

以上就是详细的步骤,如果有问题可以留言

参考

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值