用途:本技能是一个“性能剖析路由器与证据工作流”,用于在遇到 iOS 性能问题时选择合适的剖析工具、采集证据、解读性能信号,并在声称优化有效前给出验证路径。它不是启动性能、SwiftUI 性能、Swift 并发性能、感知性能或 Swift 运行时开销等更具体技能的替代品。\n\n主要能力:当任务涉及选择 Instruments 模板或剖析流程;解读 trace、截图、XCTest 指标、MetricKit 载荷、Organizer 数据、日志或 signpost;诊断卡顿、动画掉帧、CPU 峰值、内存增长、泄漏、磁盘 I/O、网络延迟、耗电或线上回归;设计前后对比测量方案;添加 signpost 或性能测试;判断某项优化是否有证据支持时使用。\n\n核心原则:先证据后优化。流程为:症状 -> 可复现场景 -> 正确工具 -> trace 或指标 -> 假设 -> 聚焦修复 -> 重新测量。缺少证据时,应说明尚未被证明的内容以及下一步应测量的指标,不得宣称性能已改善。\n\n使用方式:先从症状选工具,例如冷启动、卡顿、动画掉帧、CPU 峰值、内存增长、泄漏、磁盘、网络、耗电、线上回归、回归保护分别对应不同主工具与辅助信号。优先使用真机、Release 或类 Release 构建、重复运行、稳定数据与确定性场景,并在报告中注明设备与系统信息。必要时用 os_signpost 或 OSSignposter 标记应用专有操作。\n\n限制与注意:Instruments 解释本地原因,MetricKit 与 Organizer 用于识别线上信号;XCTest 性能测试更适合回归保护而非深度诊断;Debug 构建与模拟器结果可能失真。卡顿不一定等于 CPU 饱和,内存增长不等于泄漏,平均指标可能掩盖 p95/p99 问题。不要在没有可重复前后测量时宣布优化成功,也不要基于无 trace 证据的大规模重写。
ios-performance-profiling
测试与质量
更新于 10-16 00:01