用途:端到端审计 SwiftUI 视图性能,从代码审查、Instruments 采样到根因分析和具体修复。
主要能力:提供工作流决策(先代码审查,症状不明时指导采样);指导使用 Instruments 的 SwiftUI 模板,含 View Body、View Properties、Time Profiler、Hangs 等仪器,并说明在 Release 构建和真机上复现交互、导出轨迹;诊断常见问题,包括状态变化过大导致视图失效风暴、列表标识不稳定(如每次渲染用 UUID())、顶层条件切换根视图、body 内重计算、布局抖动、图片未降采样、动画过多;给出修复方向,如收窄状态作用域、稳定 ForEach 标识、把重计算移出 body、用 equatable() 包装昂贵子树、降采样图片、减少布局复杂度。
用法:编写代码时优先用静态或缓存的格式化器,避免在 body 中排序、过滤、解码图片;在 Debug 下用 Self._printChanges() 查看触发更新的属性,提交前移除;用 LazyVStack/LazyHStack/LazyVGrid 处理大量项,避免在懒加载容器内嵌 GeometryReader;@Observable 按属性粒度跟踪,可将读取拆分到子视图缩小观察范围。
适用场景:SwiftUI 应用的渲染、滚动、动画、布局与内存性能问题排查。
限制:资料未提供安装命令、收费与平台要求;部分 API 依赖 iOS 17+/18+ 或 Xcode 15+;不得在正式包保留 _printChanges()。