Audit SwiftUI performance issues from code review and profiling evidence.
Use this skill to diagnose SwiftUI performance issues from code first, then request profiling evidence when code review alone cannot explain the symptoms.
references/code-smells.md.references/profiling-intake.md.references/report-template.md.Collect:
@State, @Binding, environment dependencies, and observable models.Ask the user to classify the issue if possible:
For the full profiling intake checklist, read references/profiling-intake.md.
Focus on:
ForEach.body or view builders.GeometryReader, or preference chains.Use references/code-smells.md for the detailed smell catalog and fix guidance.
Provide:
If code review does not explain the issue, ask for runtime evidence:
Use references/profiling-intake.md for the exact checklist and collection steps.
Apply targeted fixes:
ForEach and lists.body into derived state updated from inputs, model-layer precomputation, memoized helpers, or background preprocessing. Use @State only for view-owned state, not as an ad hoc cache for arbitrary computation.equatable() only when equality is cheaper than recomputing the subtree and the inputs are truly value-semantic.Use references/code-smells.md for examples, Observation-specific fan-out guidance, and remediation patterns.
Ask the user to re-run the same capture and compare with baseline metrics. Summarize the delta (CPU, frame drops, memory peak) if provided.
Provide:
Use references/report-template.md when formatting the final audit.
references/profiling-intake.mdreferences/code-smells.mdreferences/report-template.mdreferences/ as they are supplied by the user.references/optimizing-swiftui-performance-instruments.mdreferences/understanding-improving-swiftui-performance.mdreferences/understanding-hangs-in-your-app.mdreferences/demystify-swiftui-performance-wwdc23.md