Skillsios-performance
ios-performance

ios-performance

Standards for Instruments, Memory Management, and Optimization.

ios-performanceHoangNguyen0403
144 stars
2.9k downloads
Updated 1w ago

Readme

ios-performance follows the SKILL.md standard. Use the install command to add it to your agent stack.

---
name: iOS Performance
description: Standards for Instruments, Memory Management, and Optimization.
metadata:
  labels: [ios, performance, instruments, leaks]
  triggers:
    files: ['**/*.swift']
    keywords: [Instruments, Allocations, Leaks, dequeueReusableCell]
---

# iOS Performance Standards

## **Priority: P0**

## Implementation Guidelines

### Diagnostic Tools

- **Instruments**: Regularly use **Allocations** and **Leaks** to detect memory issues.
- **Time Profiler**: Identify heavy CPU tasks and Main Thread stalls.
- **Network instrument**: Analyze request payload sizes and frequency.

### Optimization

- **Table/Collection Views**: Always use `dequeueReusableCell` and keep `cellForRowAt` logic lightweight.
- **Image Caching**: Use `SDWebImage` or `Kingfisher` for remote assets to prevent redundant fetching and main-thread decoding. (Note: `AsyncImage` lacks built-in caching; prioritize third-party for lists).
- **Background threads**: Offload expensive work (parsing, encryption) from the Main thread using GCD or Tasks.

### Diagnostics

- **Compiler Warnings**: Enable `SWIFT_TREAT_WARNINGS_AS_ERRORS` in Release builds.
- **Static Analyzer**: Use Xcode's "Analyze" (Product > Analyze) to find logic errors.

## Anti-Patterns

- **CPU work on Main Thread**: `**No parsing/processing on Main**: Use background thread.`
- **Force Cache Flushes**: `**No redundant cache clears**: Let the system handle low-memory warnings via AppDelegate.`
- **Retain Cycles**: `**Check for cycles in Instruments**: Use the Leaks instrument frequently.`

## References

- [Profiling & Optimization](references/implementation.md)

Install

Requires askill CLI v1.0+

Metadata

LicenseUnknown
Version-
Updated1w ago
PublisherHoangNguyen0403

Tags

No tags yet.