
1打开debug模式2开发者模式里边搜索trace中文名称“系统跟踪”3如果需要录制跟踪可以打开“录制跟踪记录”开关此时操作机器就能记录下来所有的trace4关闭追踪可以在通知里边关闭会通知你已经生成了trace文件。5使用adb把文件传输到电脑adb pull /data/local/traces/ 你想保存到终端的文件夹名称/比如adb pull /data/local/traces/ traces/PS C:\Users\xxxx adb pull /data/local/traces/ traces//data/local/traces/: 1 file pulled, 0 skipped. 26.9 MB/s (9322379 bytes in 0.331s)ps:导出ap和cp的ylog打开ylog展锐 拨号键盘*#*#8378#*#*adb pull /data/ylog/ cp/adb pull /storage/emulated/0/ylog/ ap/6打开分析trace浏览器打开网页 Perfetto UI 选择你刚拷贝到本地的trace文件即可加载和展现trace7什么是trace所有操作记录线程和进程CPUGPU渲染情况是否有丢帧延迟阻塞等都一目了然如图1阻塞耗时 113ms图2渲染线程死亡图3launcher进程中多大阻塞时间723us图5Launcher有疯狂掉帧8过滤出来最耗时的几个线程SELECT t.name AS thread_name, s.name AS slice_name, s.dur / 1000000.0 AS duration_ms FROM slice s JOIN thread_track tt ON s.track_id tt.id JOIN thread t USING (utid) WHERE s.dur 50000000 -- 过滤出耗时大于 50ms 的方法 ORDER BY s.dur DESC LIMIT 10;9trace使用场景log里边没有明显的crashOOMANR等报错没有明确错误指向的时候。