Xcode Instruments之概述

Xcode Instruments之概述XcodeInstrum 简介

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

之前一直做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

Xcode Instruments之概述



2To run Instruments while building your code

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

Xcode Instruments之概述

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

Xcode Instruments之概述

(3)点击Close。

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

Xcode Instruments之概述或者 Xcode Instruments之概述

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

Xcode Instruments之概述

3、To run Instruments from the Dock

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

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

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

Xcode Instruments之概述

Instruments打开app的流程

(1)打开Instruments

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

Xcode Instruments之概述

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

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



添加和配置内置的instruments

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

Xcode Instruments之概述

打开后的界面如下图:

Xcode Instruments之概述

一、基本用法

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

Xcode Instruments之概述

2、查找instrument

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

Xcode Instruments之概述

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

Xcode Instruments之概述  Xcode Instruments之概述

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

Xcode Instruments之概述

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

二、创建自定义Group

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

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

Xcode Instruments之概述

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

Xcode Instruments之概述

(3)选中Library项

Xcode Instruments之概述

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

Xcode Instruments之概述

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

Xcode Instruments之概述   Xcode Instruments之概述

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

Xcode Instruments之概述

三、创建Smart Group

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

(1)选择New Smart Group

Xcode Instruments之概述

(2)键入分组名称

Xcode Instruments之概述

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

Xcode Instruments之概述

(4)结果如下图所示

Xcode Instruments之概述

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

Xcode Instruments之概述

四、使用Library里的instrument

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

Xcode Instruments之概述



















iOS设备与Instruments的无线连接

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

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

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

Xcode Instruments之概述

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

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

Xcode Instruments之概述

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

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





版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/232681.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • pycharm创建flask项目没有子文件夹和app文件_python flask框架

    pycharm创建flask项目没有子文件夹和app文件_python flask框架打开Pycharm的File菜单,选择创建新的项目,在弹出对话框中,我们可以看到很多的案例,Flask、Django等等,我们选择Flask创建Flask项目。选择创建之后一个Flask项目就出现在我们眼前:默认文件目录结构为:app.py程序入口,static用于存放静态文件,如js、css、img等,templates用于放置html模板文件在Pycharm菜单栏有个run,我们可以选择run来启动Flask服务,默认打开的是5000端口打开浏览器输入http://lo.

    2022年8月29日
    5
  • JavaEE完整框架[通俗易懂]

    JavaEE完整框架[通俗易懂]JavaEE是一套使用Java进行企业级Web应用开发的大家一致遵循的工业标准。JavaEE平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业应用程序。相对于Microsoft的.NET,Sun公司的Java*E和一系列标准、技术及协议更接近或更满足互联网在智能化Web服务方面对开放性、分布性和平台无关性的要求。JavaEE的13种核心技术规范:1、JDBC(JavaDatabase)数据库连接JDBC是一组用于执行SQL的JavaAPI,为访问不同的数据库提供了一种统一

    2022年7月7日
    23
  • WinHttp用法(WinHttp.WinHttpRequest.5.1方法,属性)

    WinHttp用法(WinHttp.WinHttpRequest.5.1方法,属性)使用WinHttpRequest伪造HTTP头信息,伪造Referer等信息由于微软封锁了XmlHttp对象,所以无法伪造部分HTTP头信息,但是WinHttp.WinHttpRequest.5.1对象,它居然用可以成功伪造所有http请求的header信息!从msdn得知,WinHttp.WinHttpRequest.5.1是msxml4.0的底层对象,也就是说XML

    2022年7月11日
    22
  • vs 内存泄露 检测(android怎么检测内存泄露)

    BoundsChecker是一个Run-Time错误检测工具,它主要定位程序在运行时期发生的各种错误。              BoundsChecker能检测的错误包括:      1)指针操作和内存、资源泄露错误,比如:内存泄露;资源泄露;对指针变量的错误操作。    2)内存操作方面的错误,比如:内存读、写溢出;使用未初始化的内存。         3)API函

    2022年4月10日
    35
  • Pytorch-BN层详细解读

    Pytorch-BN层详细解读Pytorch-BN层BN解决了InternalCovariateShift问题机器学习领域有个很重要的假设:独立同分布假设,即假设训练数据和测试数据是满足相同分布的。我们知道:神经网络的训练实际上就是在拟合训练数据的分布。如果不满足独立同分布假设,那么训练得到的模型的泛化能力肯定不好。再来思考一个问题:为什么传统的神经网络要求将数据归一化(训练阶段将训练数据归一化并记录均值和方差,测试…

    2022年10月14日
    3
  • 并查集基础总结

    并查集基础总结

    2021年9月27日
    53

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号