SuperAPI AI 工具集

swiftui-performance-audit

智能体与模型

查看项目

更新于 10-15 17:29

技能介绍

用途:端到端审计 SwiftUI 视图性能,从埋点与基线采集,到根因分析和具体修复步骤。

主要能力:按决策树工作。若用户提供代码,先做“代码优先审查”;若只描述症状,则先索取最小代码与上下文再审查;若代码审查无定论,引导用户用 Instruments 采集数据。审查关注视图失效风暴、列表身份不稳定(id 抖动、每次渲染 UUID())、body 中的重活(格式化、排序、图像解码)、布局抖动(深栈、GeometryReader、preference 链)、未降采样大图、过度动画层级。

使用方式:引导用户在 Release 构建下使用 Instruments 的 SwiftUI 模板,复现完全相同的交互(滚动、导航、动画),采集 SwiftUI 时间线与 Time Profiler,导出或截图相关泳道与调用树;再结合轨迹与日志诊断,优先排查常见 SwiftUI 性能元凶。

常见代码异味与修复:body 中创建 NumberFormatter、MeasurementFormatter 等昂贵对象应改为缓存;在计算属性或 body 中做过滤、排序应预计算或按变化缓存;ForEach 内联过滤改为预过滤集合;ForEach(id: .self) 应使用稳定 ID;主线程解码图像应改为后台解码并降采样;过宽的 @Observable 依赖改为细粒度视图模型或逐项状态。

性能模式:缩小状态作用域(把 @State/@Observable 靠近叶子视图);对昂贵子树使用 Equatable 与 .equatable();长列表用 LazyVStack/LazyHStack;渲染前对图像做 downsampling。

验证:要求用户用相同方式重新采集,与基线指标对比,汇总 CPU、掉帧、内存峰值的差异。输出包括指标对照表、按影响排序的 top 问题、带工作量估计的修复建议。限制:未提供具体平台版本、安装命令或收费信息。