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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • docker 离线安装_docker 离线安装

    docker 离线安装_docker 离线安装docker离线安装方法下载地址:https://download.docker.com/linux/static/stable/x86_64/参考文档:https://docs.docker.com/engine/install/binaries/机房设备无法访问互联网原因,需要进行离线安装K8S生态周报|Docker和containerd全版本漏洞公布,近期在Docker中发现了一个影响所有版本的安全漏洞CVE-2022-24769,该漏洞已经在Docker最新的版本v20

    2022年9月26日
    3
  • jvm字符串常量池_java 常量池

    jvm字符串常量池_java 常量池字符串字符串字面量:就是指这个字符串本身,比如”Java”,”Hello”。字符串对象:比如newString(“abc”),或者直接Strings=”str”,后面的”str”也是一个字符串对象。字符串引用:引用就是一个变量,指向对应的字符串对象。常量池class常量池Java源文件编译之后得到的class文件,其中有项信息就是常量池,保存有字面量和符号引用,比如publicclassJ…

    2022年7月28日
    4
  • 零基础学Java(9)在mac上运行命令行提示”找不到或无法加载主类”

    零基础学Java(9)在mac上运行命令行提示”找不到或无法加载主类”天坑遇到的问题:使用命令行执行命令:javaEightSample,会报以下错误错误:找不到或无法加载主类EightSample运行环境mac系统IntelliJIDEA编译器Ja

    2022年7月29日
    17
  • 关于如何访问当前页面所在的iframe属性[通俗易懂]

    今天碰到个问题,在当前页面访问包含他的iframe标签中的属性。用如下方法:window.frameElement如果要id就在后边加上.id 用什么加什么。其实很简单。就是知识面太少。

    2022年4月17日
    56
  • goland2021.8激活码[免费获取]

    (goland2021.8激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlBI7JCUH1TG-eyJsa…

    2022年3月22日
    47
  • qq邮箱正则表达式语法_php邮箱正则表达式

    qq邮箱正则表达式语法_php邮箱正则表达式/qq邮箱的正则表达式/Stringregex6=“[1-9]\d{7,10}@qq\.com”;Strings7=“514668465@qq.com”;System.out.println(“s7”+s7.matches(regex6));Stringregex7="[\\w&&^[0-9]…

    2022年9月2日
    6

发表回复

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

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