android 性能分析工具(02)Perfetto
数据分析:学习Excel的数据分析工具 #生活技巧# #工作学习技巧# #专业技能培训#
1 理解Perfetto(why+what)
1.1 Perfetto和systrace的关系
Perfetto 是 Android 10 中引入的全新平台级跟踪工具。这是适用于 Android、Linux 和 Chrome 的更加通用和复杂的开源跟踪项目。与 Systrace 不同,它提供数据源超集,可以用 protobuf 编码的二进制流形式记录任意长度的跟踪记录。总而言之,可以将Perfetto理解为sysyrace的升级版,用在更新的平台、新图表展示更多的信息。
同时在android系统中,“系统跟踪”应用(详见:Android 开发者之捕获设备上的系统跟踪记录)是一款用于将设备活动保存到跟踪文件的 Android 工具。在搭载 Android 10(API 级别 29)或更高版本的设备上,跟踪文件会以 Perfetto 格式保存。在搭载较低版本 Android 系统的设备上,跟踪文件会以 systrace 格式保存。
在兼容性上,考虑到一些历史原因,Perfetto工具抓取的trace文件也可以转换成systrace视图,习惯用systrace的也可以用Perfetto的Open with legacy UI来完成转换功能。
1.2 perfetto相比systrace的优势
UI:perfetto的操作和systrace的操作类似,界面UI更加美观,进程相关信息显示更全。流畅性:打开较大的trace文件比systrace更流畅一些。线程:如果你对某些线程感兴趣,可以置顶放在一起分析。看线程被谁唤醒很方便。Binder:Binder跨进程点击跳转的跟踪更加⽅便。2 使用perfetto(how)
2.1 常规操作
要想使用perfetto,主要执行命令:
adb shell setprop persist.traced.enable 1
adb shell perfetto -o /data/misc/perfetto-traces/trace_file.perfetto-trace -t 20s sched freq idle am wm gfx view binder_driver hal dalvik camera input res memory
adb pull /data/misc/perfetto-traces/trace_file.perfetto-trace .
生成的trace文件可以用网页版的perfetto UI直接查看。
注意:在Perfetto命令中对于trace的大小限制是这样的,如果设置t时间为10s,但实际的trace大小有可能不到10s,这是正常的。因为还要受到默认trace文件大小的限制,文件限制的设置参数类似这样:-b 32mb,也就是说,真正的Perfetto trace大小主要依赖trace文件大小的限制和时间限制,两者最终取小,了解实战中遇到的问题,便于更好地抓取trace。
perfetto可以在浏览器中可以直接打开,网址为:Perfetto UI,点进后是这样:
打开trace文件后效果如下所示:
基本操作和sysytrace几乎全部通用。同时,perfetto在终端和PC上均可使用:
使用adb直接运行perfetto的方式参考: Android 开发者之adb 运行perfetto在PC端运行perfetto的方式参考:Quickstart Perfetto Tracing文档(Chrome/中文翻译)2.2 perfetto关于内存调试文档整理
调试内存可参照文档:Android 上调试内存使用情况 Perfetto Tracing文档(Chrome/中文翻译)内存事件和计数器相关:counters and events-Perfetto Tracing文档(Chrome/中文翻译)native heap调试相关:Native heap profiler-Perfetto Tracing文档(Chrome/中文翻译)java heap调试相关:java heap profiler-Perfetto Tracing文档(Chrome/中文翻译)2.3 新功能-perfetto APP启动 直接追踪
perfetto 在android 13版本设备上可以配置为在启动APP时自动开始记录跟踪,具体可参照文档:APP启动时自动开始记录跟踪 Perfetto Tracing文档(Chrome/中文翻译)
2.4 perfetto完整功能 和 总纲链接
perfotto功能主要涉及 数据源、应用检测、痕迹分析、追踪可视化等功能、总纲链接如下:
总纲 Perfetto Tracing文档(Chrome/中文翻译)
网址:android 性能分析工具(02)Perfetto https://www.yuejiaxmz.com/news/view/468709
相关内容
安卓Android压力测试与性能测试详解!基于Android日程管理工具的设计与开发
解决Android开发难题:50个黑客技巧解析
android压力测试工具 安卓 压力测试
AndroidStressTest: Android系统全面压力测试工具
最全测试开发工具推荐(含自动化、性能、稳定性、抓包)
推荐几款前端性能测试工具、分析神器
Android P Auto版本Home画面解析
史上最全测试开发工具推荐(含自动化、性能、稳定性、抓包)
探索智能语音助手:Android