SuperAPI AI 工具集

ios-performance-profiler

部署与运维

查看项目

更新于 10-15 21:08

技能介绍

该技能用于审查和识别 SwiftUI 代码中潜在的性能瓶颈,内容覆盖视图标识与差异计算、body 计算与重绘、列表与大集合、并发与主线程、环境与状态传播、内存与循环引用、布局与几何、动画与过渡以及导航与弹层等主题。

主要能力包括:指出 body 中不应执行网络、解码、排序、过滤等高开销工作;建议对派生状态做一次性计算并存储;推荐使用稳定的 Identifiable 标识而非随机 UUID;在列表场景推荐 List、LazyVStack 等懒加载容器;在并发方面建议恰当使用 @MainActor、actor 以及 .task 取代 .onAppear;同时提醒在异步或逃逸闭包中使用 [weak self]、对远程图片做缓存与缩放、避免在滚动视图中使用 GeometryReader 等。

使用方式以代码审查清单为主,并附有快速修复对照表,按严重程度分级:严重问题包括 body 中的重逻辑、不稳定的 ForEach ID、循环引用、在列表行中重建 @StateObject 等;中等问题包括父视图导致子视图无谓重绘、动画范围过宽、频繁主线程切换、GeometryReader 使用不当、图片未缩放、过度订阅 @Environment、弹层与目标视图过早初始化等;轻微问题包括仍使用 @ObservableObject、复杂矢量或 Canvas 内容未使用 drawingGroup() 等。

资料还提供调试辅助手段,例如在视图 body 中使用 let _ = Self._printChanges() 记录重绘原因,使用 os_signpost 标记自定义性能区间;工具方面提及 Instruments 中的 SwiftUI 模板与动画工具、Xcode 16+ 的 SwiftUI View Body 工具、模拟器中的性能 HUD、MetricKit,以及内存图调试器。

限制方面:该技能是性能审查与建议型内容,未提供具体的安装命令、收费或价格信息,也未说明其运行平台或集成方式;是否适用于非 SwiftUI 项目暂未提供。