前言
大家好,我是励志成为架构师的男子,Android界的白居易。
为什么要写这系列的文章呢,原因是我是一个理解能力很差的人,在某土掘金,某书,等各类技术博客中各类文章让我十分痛苦,我希望能写出更形象化的,更便于理解的Android系列技术文章。
Perfetto trace
在介绍trace前,相信大家都了解或使用过log,好比log是小米手机青春版,而perfetto就是pro max utral版,两者的原理是相同的
log:log是Android应用/Android系统在某些地方插入了log点进行log收集,写入到某个log文件中进行保存。
trace:trace也是Android应用/Android系统在某些地方插入的桩点,用于统计某些函数的调用关系,耗时时长等数据,同样收集完之后保存到某个trace文件中。
需要准备什么
1.一台可调试的手机
2.一个网站perfetto官网
3.一个配置文件(告诉Android系统你想抓什么)
配置文件怎么获得(perfetto官网->record new trace->save config->share config->复制生成的文件 删除/注释掉 首末括号外连同括号只保留括号内内容,把复制的内容另存为config.pbtx即可)
4.三行代码(push配置文件到手机中的指令,抓取trace的指令,把抓到的trace拉出来)
adb push config.pbtx /data/misc/perfetto-configs/config.pbtx
adb shell -t perfetto --txt -c /data/misc/perfetto-configs/config.pbtx -o /data/misc/perfetto-traces/trace.perfetto-trace
adb pull /data/misc/perfetto-traces/trace.perfetto-trace D:\Doc\perfetto_trace
注意事项:
1.指令上的目录/要替换吗?
答:前两条指令不需要换,直接使用,最后一条指令是将trace输出到指定目录,检查下有没有对应的目录,没有就创建一个或者替换
2.配置好了,也运行了指令但是抓不出trace怎么办?需要聪明的你留言下具体情况。