真机相关iOS instrument 使用相关控件类

Instrument的使用

2017-03-20  本文已影响260人  小雨雨儿

可以看到 Instruments 功能很多,这里先介绍一下我们在开发中常用到的几种:CPU 性能测试、图形性能测试、内存性能测试。本文主要介绍Time Profiler、Core Animation、Leaks的简单实用。

工具通过Xcode工具栏中Product->Profile(command+i)可以启动,启动后界面如下:

Instrument首页

在开始进行应用程序性能分析的时候,介意使用真机测试,数据会更可靠。毕竟模拟器运行在Mac上,Mac上的CPU和手机的CPU是不一样的。
应用程序运行一定要发布配置 而不是调试配置。

1.Time Profiler 时间分析工具

用来检测应用CPU的使用情况.可以看到应用程序中各个方法正在消耗CPU时间。
Time Profiler

1.选择 Time Profiler,并点击 Choose按钮。
2.选择正确的设备和应用程序
3.点击红色按钮运行后,就能得到 CPU 性能的结果
4.勾选右边Call Tree中Separate Thread和Hide System Libraries两个选项后,可以看到对应的代码执行耗时

显示图

5.双击方法,可以看到代码详情

代码图

其中[dateDetector matchesInString]耗时是122x,x既耗时单位这里为ms毫秒.当然如果直接在Instrument找到问题觉得不方便修改,可以直接点击右上方Xcode按钮会直接定位Xcode对应调用方法入口.这样很容易能够快速定位代码占用CPU最多的方法.也可以打开Xcode快速修改并重新运行Profile来看修改后耗时前后对比.简单便捷。

这里对右侧call tree选项有必要做一下说明[官方user guide翻译]:

2.Core Animation

评估图形性能
Core Animation

1.选择 Core Animation,并点击 Choose按钮。
2.选择正确的设备和应用程序
3.点击红色按钮运行后,随着我们操作 App,就能得到数据

显示图

在右下角面板的 Settings 区域,我们可以看到多个 Debug Options:

这个选项选项基于渲染程度对屏幕中的混合区域进行绿到红的高亮显示,越红表示性能越差,会对帧率等指标造成较大的影响。红色通常是由于多个半透明图层叠加引起。

这个选项检查了图片是否被缩放,以及像素是否对齐。被放缩的图片会被标记为黄色,像素不对齐则会标注为紫色。黄色、紫色越多,性能越差。

3.Leaks

Leaks

1.选择 Leaks,并点击 Choose按钮。
2.选择正确的设备和应用程序
3.点击红色按钮运行后,随着我们操作 App,就能得到数据

显示图g

4.可在下图这个位置选择,展示的不同模式

显示图

5.在Call Trees模式下,在Settings 中勾选 Invert Call Tree 或 Hide System Libraries,或其他选项可以过滤显示的数据。

6.出现内存泄露的情况

10.png

7.选中上图的Leak Checks 一栏
8.然后点击导航栏切换到“Call Tree”模式

11.png

9.勾选右边的详细窗口 Display Settings中的 Call Tree中 Separate by Thread和 Hide System Libraries两个选项,Hide System Libraries作用是隐藏系统函数。能方便的看到程序中代码所在的位置。

10.勾选之后,双击一下就会来到内存泄漏的地方

上一篇下一篇

猜你喜欢

热点阅读