Instruments 是什么

Instruments 是苹果官方的性能剖析套件:内存、CPU、能耗、卡顿,全部在一个工具里录出来看。它把黑盒的性能问题变成一条条时间线和柱状图,让你知道时间和电量花在哪。

性能问题不该靠猜:Instruments 把它录成数据,问题自己会浮出来。

这篇按内存、CPU、卡顿、能耗四块讲 Instruments 实战。

内存分析找泄漏

用 Allocations 录制一次页面进出,看对象实例数是否只增不减。怀疑泄漏再用 Leaks 模板。常见来源:循环引用、Block 捕获 self、单例持有页面。

// 打破循环引用
weak var weakSelf = self
queue.async { weakSelf?.doSomething() }

用 weak 打断互相持有,泄漏就消了。

Time Profiler 找 CPU 热点

Time Profiler 录一段交互,看调用树里哪个函数占比最高。占 CPU 最多的那个就是要优化的热点。大图解码、同步 IO、大列表计算,都是常见热点。

Instruments 模板速查
  • Allocations内存分配与增长。
  • Leaks循环引用泄漏。
  • Time ProfilerCPU 调用树。
  • Energy Log能耗与唤醒。

卡顿与主线程

滑动卡多半是主线程被同步任务堵住。用 Main Thread Checker 配合 Time Profiler,看主线程那段时间在跑什么。把它挪到后台队列,帧率就回来。

苹果 Instruments:中央抽象设备悬浮内存柱形图、能耗仪表盘与帧率波形三类发光图表的扁平科技插画
剖析面板:内存、能耗、帧率同屏对照。