155、平台 Camera 性能剖析工具:Systrace、Perfetto、Snapdragon Profiler 的使用去年在调试某款旗舰机的前置摄像头时,遇到一个诡异的卡顿问题:打开相机后,预览画面每隔几秒就会“跳帧”一次,像是被什么东西卡住了喉咙。用 log 看了一圈,CPU 负载不高,内存也没爆,驱动层报错更是干净得像刚擦过的黑板。折腾了两天,最后是 Systrace 一针见血地揪出了元凶——一个后台服务在每 3 秒的周期里抢占了 Camera HAL 的 CPU 时间片,导致 buffer 提交延迟。从那以后,我养成了一个习惯:凡是 Camera 性能问题,先上 trace,再动代码。Systrace:老牌工具,但别小看它Systrace 是 Android 原生自带的性能追踪工具,虽然 Google 已经主推 Perfetto,但在很多老平台(比如 Android 10 以下的设备)上,Systrace 依然是首选。它的核心价值在于能让你看到“时间轴上的每一根毛”——从 App 层到 HAL 层,再到 Kernel 驱动,所有关键事件的起止时间都一目了然。使用方式很简单,但有几个坑要避开。别直接用systrace.py脚本抓取默认的 categories,那只会给你一堆没用的 SurfaceFlinger 和 Input 事件。对于 Camera 场景,必须手动指定 categories: