用途
axiom-ios-performance 是一个 iOS 性能问题的路由技能(Router)。按照资料的描述,当应用变慢或卡顿、内存占用随时间增长、电量消耗加快、设备使用中发热、电池设置中显示高能耗,或者需要诊断任何性能问题时,都应当使用它。它自身不执行具体修复,而是根据症状把请求导向对应的专项技能、代理(Agent)或命令。
主要能力(路由逻辑)
内存问题
- Swift 内存泄漏:导向 axiom-memory-debugging,覆盖系统性泄漏诊断、5 种常见泄漏模式、Instruments 工作流、deinit 未被调用等情况。
- 内存泄漏扫描:启动 memory-auditor 代理或 /axiom:audit memory,资料描述为五阶段语义审计,包括映射资源所有权、检测 6 种泄漏模式、推理缺失的清理、关联复合风险、评估生命周期健康度。
- Objective-C block 内存泄漏:导向 axiom-objc-block-retain-cycles,覆盖 block 循环引用、weak-strong 模式、网络回调泄漏。
性能剖析
- GUI 性能剖析:导向 axiom-performance-profiling,覆盖 Time Profiler(CPU)、Allocations(内存增长)、Core Data 剖析(N+1 查询)、工具选择决策树。
- 自动化剖析(CLI):导向 axiom-xctrace-ref,覆盖无头 xctrace 剖析、CI/CD 集成模式、命令行 trace 记录、程序化 trace 分析。
- 运行自动化剖析:使用 performance-profiler 代理或 /axiom:profile,资料描述其流程为通过 xctrace 记录 trace、导出并分析数据、按严重程度报告发现。
卡顿与冻结
- 应用挂起或冻结:导向 axiom-hang-diagnostics,覆盖 UI 超过 1 秒无响应、主线程阻塞(忙等或等待)、忙等与阻塞的诊断决策树、Time Profiler 与 System Trace 的选择、8 种常见挂起模式及修复、看门狗终止。
能耗问题
- 耗电、高能耗(通用):导向 axiom-energy,覆盖 Power Profiler 工作流、子系统诊断(CPU/GPU/网络/定位/显示)、反模式修复、后台执行优化。
- 基于症状的诊断:导向 axiom-energy-diag,覆盖“应用出现在电池设置顶部”“设备发热”“后台耗电”等情形,以及每条路径的时间成本分析。
- API 参考与代码:导向 axiom-energy-ref,覆盖 WWDC 代码示例、Timer/网络/定位效率、BGContinuedProcessingTask(iOS 26)、MetricKit 设置。
- 能耗扫描:启动 energy-auditor 代理或 /axiom:audit energy,资料列出 8 类反模式:计时器滥用、轮询、持续定位、动画泄漏、后台模式误用、网络低效、GPU 浪费、磁盘 I/O。
计时器安全
- 计时器崩溃模式(DispatchSourceTimer):导向 axiom-timer-patterns,覆盖 4 种导致 EXC_BAD_INSTRUCTION 的崩溃场景、RunLoop 模式陷阱(滚动时 Timer 停止)、SafeDispatchTimer 封装、Timer 与 DispatchSourceTimer 的取舍。
- 计时器 API 参考:导向 axiom-timer-patterns-ref,覆盖 Timer、DispatchSourceTimer、Combine、AsyncTimerSequence API、生命周期图与平台可用性。
Swift 性能
- Swift 性能优化:导向 axiom-swift-performance,覆盖值类型与引用类型、写时复制、ARC 开销、泛型特化、集合性能。
- Swift 性能扫描:启动 swift-performance-analyzer 代理或 /axiom:audit swift-performance,涵盖不必要的拷贝、ARC 开销、未特化的泛型、集合低效、actor 隔离成本、内存布局。
- 现代 Swift 惯用法:导向 axiom-swift-modern,覆盖过时 API 模式(Date()、CGFloat、DateFormatter)、Foundation 现代化(URL.documentsDirectory、FormatStyle),以及资料提及的针对模型幻觉的纠正。
MetricKit 集成
- 导向 axiom-metrickit-ref,覆盖 MXMetricPayload 解析、MXDiagnosticPayload(崩溃、挂起)、字段性能数据收集、与崩溃上报的集成。
运行时控制台捕获
- 导向 axiom-xclog-ref 或 /axiom:console,从模拟器捕获 print()、os_log()、Logger 输出,产出带 level、subsystem、category 的结构化 JSON,支持 --timeout 与 --max-lines 的有界收集,以及按 subsystem 或正则过滤。
运行时状态检查
- LLDB 交互式调试:导向 axiom-lldb,覆盖设置断点、运行时检查变量、从崩溃日志复现崩溃、挂起时的线程状态分析、Swift 值检查(po 与 v)。
- LLDB 命令参考:导向 axiom-lldb-ref,覆盖完整命令语法、断点配方、表达式求值模式。
使用方式
资料给出了决策树式的使用指引,例如:内存持续上升同时 UI 卡顿,先走 memory-debugging(内存压力会导致 GC 暂停掉帧),内存修复后仍有卡顿再走 performance-profiling;UI 是否完全无响应决定走 hang-diagnostics 还是 performance-profiling;只有首次启动卡顿则还需检查同步 I/O 或懒初始化;多个异步操作同时完成导致变慢则交叉路由到 axiom-ios-concurrency;已知症状的耗电问题走 energy-diag,需要 API 参考走 energy-ref,通用耗电走 energy。资料还列出了大量示例调用,把具体用户表述映射到对应的技能、代理或命令(如 /axiom:profile、/axiom:console)。
适用场景与限制
适用于 iOS 开发者排查性能症状、选择正确的剖析工具与调试流程,以及进行主动的内存、能耗、Swift 性能审计。限制方面:资料未提供安装命令、依赖要求、收费与价格、支持的平台或版本范围、具体的效果承诺等信息,这些内容暂未提供;同时该技能是路由入口,具体分析能力分布在资料所列的各专项技能与代理之中。