Instrument
2017-05-19 本文已影响85人
Thinkdifferents
Instrument是一个强大而灵活的性能分析和测试工具
是Xcode的附加工具组件之一, 主要用途如下:
leaks:找到引发内存泄漏的起点
1.选中Xcode先把程序跑起来
2.运行leaks (什么?你不知道leaks怎么开启?自己百度)
3.由于Leaks是动态监测,所以我们需要手动操作APP,一边操作,一边观察Leaks的变化,当出现红色叉时,就监测到了内存泄露,点击右上角的第二个,进行暂停检测(也可继续检测,当多个时暂停,一次处理了多个).如图所示:
图3
4.下面就是定位修改了,此时选中有红色柱子的Leaks,下面有个"田"字方格,点开,选中Call Tree
图4
显示如下图界面
图4.1 5.下面就是最关键的一步,在这个界面的右下角有若干选框,选中Invert Call Tree 和Hide System Libraries,(红圈范围内)显示如下: 图5
6.到这里就算基本完成啦,这里显示的就是内存泄露代码部分,那么现在还差一步:定位!
选中显示的若干条中的一条,双击,会自动跳到内存泄露代码处,如图所示
Core Animation:测试 核心动画屏幕刷新帧率
注意这个调试必须使用真机, 点击左上角的红色圆圈就会开始录制
- 这里记录了实时的fps数值, 有些地方为0 是因为屏幕没有滑动, 屏幕活动过程中数值一直保持在50+代表表格很流畅, 否则, 就是比较卡顿咯
- 调试选项
ps:有过游戏经验的人也许对fps这个概念比较熟悉。我们知道任何屏幕总是有一个刷新率,比如
iphone推荐的刷新率是60Hz,也就是说GPU每秒钟刷新屏幕60次,因此两次刷新之间的间隔为
16.67ms。这段时间内屏幕内容保持不变,称为一帧(frame),fps表示frames per second,
也就是每秒钟显示多少帧画面。对于静止不变的内容,我们不需要考虑它的刷新率,但在执行动画
或滑动时,fps的值直接反映出滑动的流畅程度。
调试优化见--CSDN--
Time Profiler:分析代码的执行时间,找出导致程序变慢的原因
ALlocations:检测内存使用/分配情况
Zombis:僵尸对象(MAC开发必备)
正在努力努力努力学习...