很多团队在做 iOS 性能测试时,会默认打开一个工具,看 FPS / CPU,然后判断性能好不好
这个方法不能说错,但在实际项目中很容易遇到问题,比如指标有变化但不知道原因
后来我逐渐换了一种方式那就是把性能测试拆成几个部分,用不同工具去看
第一步快速判断有没有问题
目标不是分析,而是筛查。
我通常会问两个问题:
- 操作过程中是否卡顿?
- 有没有明显资源异常?
用设备监控做第一步的判断
这里我一般会用 克魔开发助手(Keymob) 来快速观察。
操作步骤
1 连接设备
- USB 连接 iPhone
- 打开克魔开发助手
2 打开性能图表
性能监控 → 性能图表
3 选择指标
根据场景勾选:
- CPU
- 内存
- FPS
4 选择 App
点击 选择 App → 勾选目标应用
5 开始测试
点击开始,然后在手机上执行操作:
- 打开页面
- 滑动列表
- 切换 Tab
这一步的作用
只做异常点这件事事情,例如:
- 某个操作 CPU 突然升高
- FPS 明显下降
第二步:把问题齐到行为
第一步只能看到有问题,但不知道为什么。
接下来可以把性能数据和操作行为对齐
打开实时日志
在克魔开发助手中打开「实时日志」
操作方式
- 点击开始
- 设置关键词过滤(如接口名)
实际用法
当你看到 CPU 上升
可以同步看日志:
- 是否发起网络请求
- 是否执行某个任务
第三步:判断问题类型(不是所有问题都一样)
当你定位到问题点后,需要判断是哪一类性能问题:
常见类型
- CPU 密集型(计算问题)
- 内存问题(泄漏 / 抖动)
- I/O 问题(读写频繁)
- 渲染问题(UI 卡顿)
怎么判断
这里我会再切换指标:
- 加上内存
- 加上磁盘 I/O(如果支持)
看不同指标是否同时变化。
第四步:进入代码分析
当问题比较明确后,我才会用 Instruments。
为什么不一开始就用 Instruments
原因很简单太重了,而且方向不明确
正确使用方式
- 先用设备工具找到问题操作
- 再用 Instruments 精确定位
为什么要用多工具组合
很多人会问有没有一个工具全搞定?理论上有,但实际会遇到、功能不够细、成本高、灵活性差,拆开用反而更清晰。
一点经验,那就是不要一开始就深挖,很多性能问题,其实在第一步就能判断方向。如果一开始就用复杂工具,很容易分析了很多,但方向错了