从事开发已有两年多时间了,从没有写过博客,看到别人写的好的博客,总是赞叹和羡慕。现在总算下定决心写写东西,我的技术水平还很有限,写不了高深的文章,就从写一些简单的东西开始吧,希望我的文章能给予大家帮助,希望我能坚持下来,希望我能从中学到很多东西,希望我的文章写的越来越好。--------我的第一篇博客

之前一直做iOS越狱开发,没怎么用过Instruments,现在转为非越狱开发,有必要学会使用Instruments,就开始看苹果官方文档《Instruments User Guide》,决定把看过的记录下来,使自己不会很快忘记,也便于查阅。如果有人从我的文章中得到了帮助,我会非常高兴。

欢迎大家使劲拍砖!

这篇文章是对《Instruments User Guide》一、二、三章的记录,主要讲述Instruments的启动和添加,内容很简单,文章中的有些英文专业名词不知道怎么翻译合适,就直接用英文了。

对于苹果开发者来说,对Xcode自带的Instruments应该并不陌生,它能够监测你的代码运行,发现开发人员不易发现的问题,通过对代码反复的检测和修改,使你的代码获得更高、更稳定的性能,这应该是所有app所追求的目标。

废话不多说,现在就开始吧!

启动Instruments的三种方式

1、To run Instruments from Xcode

打开Xcode,然后选择菜单Xcode > Open Developer Tool > Instruments。

2To run Instruments while building your code

(1)打开你要分析的工程,选择Edit Scheme。

(2)选择侧边栏的Profile,从Instruments下拉列表中选择一项。

(3)点击Close。

(4)长按Xcode的Run按钮,选择Profile;或者选择菜单Product > Profile,来启动Instruments。

或者

在第(2)步中,Instruments选项的默认值是Ask on Launch,这会在启动Instruments时打开模板选择窗口(template selection window),如下图。如果选择其他值,如选择Allocations,则启动Instruments时将直接打开Allocations。

3、To run Instruments from the Dock

(1)用上面任意一种方式启动Instruments

(2)按下Control同时点击Dock中的Instruments图标,或者长按Dock中的Instruments图标

(3)选择“选项 > 在Dock中保留”,这样即使退出Instruments,它的图标也保留在Dock中。当然,也可以取消“在Dock中保留”选项。

用Instruments打开app的流程

(1)打开Instruments

(2)选择目标设备和app,选择模板(trace template)。Instruments 模板选择窗口(template selection window)包含了所有可用的功能,在窗口顶端可以指定目标设备和app

(3)采集app信息(Collect information from your app)

(4)检测采集的信息(Examine the collected information)(这两点会在别的文章中介绍)

添加和配置内置的instruments

Instruments Library包含所有内置的instruments,可以很方便的对instruments进行管理。下面详细介绍Instruments Library的使用方法。点击如下图所示的+打开Instruments Library:

打开后的界面如下图:

一、基本用法

1、Library提供了四种视图展示方式,可以根据自己的喜好进行设置

2、查找instrument

Library在默认情况下会展示所有的instruments,选择Show Group Banners会显示instruments的分组信息

在顶端的Group Selector里选择某个分组,可以只查看该分组的内容

  

上述下拉列表的方式(standard mode)只能选择一个组。注意到下图红色圆圈中的图标,将鼠标放在上面向下拉,可以进入outline mode,这种方式下可以多选,方法是按下Command或Shift键的同时选取你想要的分组。

通过底端的Filter Control也可以查找你想要的instruments。如果顶端的Group Selector是standard mode,则将会在你选择的分组下进行查找。如果Group Selector是outline mode,则不管你是否选择了分组,都在所有instruments里进行查找。

二、创建自定义Group

你可以添加自己的分组来方便你的管理,步骤如下:

(1)Control+点击Library窗口,在弹出的菜单列表里选择New Group;或者点击底端的Action Menu来创建分组

(2)键入分组名称,回车

(3)选中Library项

(4)将你想要的instrument拖入新建的分组里

(5)完成之后选择你刚新建的分组,就能看到你刚才拖入的instruments了,同时这些instruments还是属于以前的分组的

  

(6)你也可以删除自己创建的分组

三、创建Smart Group

Smart Group是根据一系列的规则创建的分组,看完下面的步骤就知道是怎么回事了,具体如下:

(1)选择New Smart Group

(2)键入分组名称

(3)指定规则,点击+可以添加别的规则,完成之后点击OK

(4)结果如下图所示

(5)可以对已有的smart group进行修改

四、使用Library里的instrument

要使用Library里的某个instrument,直接将这个instrument从Library里拖进Trace Document里即可,如下图;或者双击Library里的这个instrument也可。

iOS设备与Instruments的无线连接

(1)确保iOS设备和电脑在同一个网络环境里

(2)将iOS设备用USB与电脑连接

(3)按下Option键的同时打开如下图所示的菜单(target pop-up menu),“xx的iPhone”就会变成“Enable xx的iPhone - wireless”

(4)点击“Enable xx的iPhone - wireless”

(5)再次打开target pop-up menu,就会出现刚才所选设备的无线连接选项,选择该项,设备就与电脑无线连接上了。这时就可以拔掉USB了。

(6)如果想要断开设备与电脑的无线连接,按下Option键的同时打开target pop-up menu,选择“Disable xx的iPhone - wireless”就可以了。

文档上讲无线连接在测试Accelerometers和Accessories时是非常有用的,虽然现在用不到,但还是记下来作为储备。

Xcode Instruments之概述相关推荐

  1. iOS:Xcode Instruments的使用

    返回上级目录:iOS 性能优化(一):Improving Your App's Performance 文章目录 1.使用实例 1.1 Points of Inerest(标记代码执行的点和执行时间) ...

  2. [xcode]instruments来检验你的app

    原文网址:http://www.cocoachina.com/industry/20140114/7696.html 比较了好多关于instruments 还是发现老外写的比较牛逼.于是果断翻译过来. ...

  3. Mac/IOS Xcode Instruments资源统计及自动化相关

    一.遇到的问题 (1)Instruments启动采集某个应用的资源时,提示"Instruments wants permission to analyze other processes.  ...

  4. Xcode Instruments调试swift入门教程

    无论您是在许多iOS应用程序上工作,还是仍在开始使用第一个应用程序:您无疑会想出新功能,并且想知道您可以做些什么来使您的应用程序更加出色 除了通过添加功能改进您的应用程序之外,所有优秀的应用程序开发人 ...

  5. iOS性能分析-Xcode Instruments Allocations 分析APP内存使用情况

    All Heap & Anonymous VM 堆内存+虚拟内存 All Heap Allocations 堆内存 All Anonymous VM 虚拟内存 # Persistent 表示在 ...

  6. Instruments性能检测

    2019独角兽企业重金招聘Python工程师标准>>> 先来一发苹果官网上Instruments User Guide,其实没啥用,英语不好的也懒得去看.(反正我是看不懂) 关于In ...

  7. About Instruments

    About Instruments Instruments是一个强大的和灵活的性能分析和测试工具的Xcode工具集的一部分.它的目的是帮助您配置您的OS X和iOS应用程序.进程和设备,以便更好地理解 ...

  8. IOS开发工具介绍之Xcode开发工具使用

    IT在线教育专家--麦子学院特约授课老师柯博文<iOS开发入门实战>向我们详细的讲述了ios开发实战过程.Xcode开发工具是ios开发的流程使用范围最广的工具. 在所有课程开始之前,柯博 ...

  9. U3D性能分析 Profiling

    Ports that the Unity profiler uses: Unity分析器使用的端口如下: MulticastPort : 54998 组播端口:54998ListenPorts : 5 ...

最新文章

  1. python全栈_007_Python3格式化输出
  2. paip.提升用户体验--提升java的热部署热更新能力
  3. Codeforces Round #682 (Div. 2)D Powerful Ksenia ///思维
  4. 创建数组_如何创建数组
  5. 算法提高 超级玛丽(java)
  6. (45)System Verilog 类中变量随机激励约束语法
  7. thinkphp3.2.3 找不到自定义模型_Orion HTC VIVE高性价比动作捕捉,虚拟直播 支持UE4.25 导入自定义模型...
  8. CentOS 6.4 安装 media wiki 1.23.6(转)
  9. 我们团队一位Android开发者的故事
  10. 干货来袭!java从入门到精通第五版pdf
  11. Java基础:网络编程的简单总结
  12. 彩虹表MD5破解分析
  13. 哇塞!这是我见过的最牛逼的性能监控系统,集强大功能于一身~
  14. 揭秘北京奥运会上的中国保镖[转贴]
  15. 数据库sql中S P J SPJ 表的创建
  16. 【Pyton】【小甲鱼】永久存储:腌制一缸美味的泡菜
  17. MT2601平台L1.MP9版本DWS配置方法
  18. 3.4 Linux常用的转义字符
  19. java毕业设计房屋租赁系统(附源码、数据库)
  20. 捕鱼类游戏(源码+游戏)

热门文章

  1. python 3.0 实现多级反馈队列进程调度算法
  2. 安全邮箱是什么,163邮箱安全中心,安全邮箱怎么注册?
  3. inductive bias:归纳偏置
  4. 机械指令 对应 汇编指令
  5. atoi(s)函数用法 1
  6. 《中国高等教育学历认证报告》申请中,添加高等学历认证对话框中信息填写完后提示“信息有误”
  7. 郭敬明:定期关注大数据,指导《小时代》
  8. 如何做Code Review——读后感
  9. Linux学习笔记35——特定权限设置(比group、user更细的设置)、身份切换(su、sudo)、密码验证过程详解(PAM)、批量创建用户
  10. Kcauldron服务端linux版,[1.7.10][KCauldron]FAN幻议会——工业|神秘|应用能源|热力|娱乐模式|龙之研究|无.......