Instruments的攻略

Instruments
翻译官方的Instruments的使用

一: Instruments介绍

1.1: 关于Instruments

Instruments是一个强大而灵活的性能分析和测试工具,它是Xcode工具集的一部分, 它旨在帮助您分析OS X和iOS应用程序,进程和设备,以更好地理解和优化其行为和性能. 将Instruments从应用程序开发流程开始纳入您的工作流程,可以帮助您在开发周期的早期发现问题,从而为您节省时间。

[图片上传失败...(image-1043ac-1512112827655)]

在Instruments中,您可以使用称为Instruments的专用工具随时跟踪应用程序,流程和设备的不同方面。仪器收集数据,并将结果详细显示给您分析。

与其他性能和调试工具不同,Instruments允许您收集广泛不同类型的数据并将其并排查看。这使识别可能被忽略的趋势更容易。 例如,您的应用程序可能会出现由多个开放网络连接引起的大内存增长, 通过一起使用“分配和连接”工具,您可以识别不关闭的连接,从而导致快速的内存增长。

通过有效使用Instruments,您可以:

  • 1: 检查一个或多个应用程序或进程的行为
  • 2: 检查设备特定的功能,如Wi-Fi和蓝牙
  • 3: 在模拟器或物理设备上执行分析
  • 4: 创建自定义DTrace工具来分析系统和应用行为的各个方面
  • 5: 追踪源代码中的问题
  • 6: 对您的应用进行性能分析
  • 7: 在您的应用程序中查找内存问题,如泄漏,废弃的内存和僵尸
  • 8: 找出优化您的应用以获得更高能效的方法
  • 9: 执行一般的系统级故障排除
  • 10: 将Instruments配置保存为模板

虽然它嵌入在Xcode中并可能被使用,但Instruments是一个独立的应用程序,可以根据需要独立使用

1.2: Instruments的工作流程

Instruments看起来像一个复杂的应用程序。这是因为它可以用来收集各种有关您的应用程序的有用信息,并帮助您诊断和解决问题。但是,整个Instruments工作流程相对简单
[图片上传失败...(image-cd77e4-1512112827655)]

在较高的层面上,它由以下几个主要阶段组成:

  • 1: 设置包含所需Instruments和设置的跟踪文档
  • 2: 将设备和应用定位到配置文件
  • 3: 剖析应用程序
  • 4: 分析分析过程中捕获的数据
  • 5: 修复你的源代码中的任何问题。

何时使用Instruments

在使用Xcode测试您的应用程序时,请参阅调试导航器仪表(图2-2),然后再进入Instruments, 这些Instruments提供有关您的应用程序的CPU,内存,能源使用情况等的高级信息, 他们提供您需要的所有信息来提高性能并快速解决常见问题。当您需要执行更详细的分析时使用Instruments

[图片上传失败...(image-1c603a-1512112827655)]

1.3: 关于本文档

为了帮助您快速找到所需的信息,本文档分为几个部分,重点介绍Instruments的特定方面

  • 1: 第一个主要部分着重于使用Instruments应用程序。它包括创建文档,找到所需的工具,分析应用程序,分析数据等等。去这里找出如何做一般的任务。
  • 2: 后面的部分将涵盖更多专业化的任务,如提高性能,解决内存问题,延长电池寿命
  • 3: 最后的部分提供了单个工具和模板的参考指南,以及额外的资源和参考资料。

先决条件

1.3.1:背景知识

在使用Instruments之前,您应该对Xcode的工作原理有一个深入的了解, 以及关键的应用程序开发概念,例如构建和运行应用程序,以及配置设备。

您还应该熟悉要执行的分析类型的核心概念, 例如,如果你正在检查你的应用程序的内存问题,那么你应该知道一些内存管理和潜在的内存问题,如leakszombies, 如果您正在检查应用程序的性能问题,则应了解CPUthread utilization, 如果您想解决电池问题,您应该了解可能对功耗产生负面影响的各种问题,如显示屏亮度,网络接口(GPS,蓝牙,Wi-Fi)使用情况以及计时器使用情况。

本指南中提供了有关这些主题和其他主题的背景信息。其他资源的链接可以在以下网址找到:

Related Documents

WWDC Videos

1.3.2: 系统要求

Instruments与Xcode一起安装。如果您还没有安装Xcode,请从Mac App Store下载

如果您打算在iOS设备上分析应用,则需要配置设备。看到Launching Your App on Devices

Instruments可用于Xcode 3.0及更高版本,并且在OS X v10.5及更高版本中受支持。 Instruments可以配置运行iOS 6或更高版本的iOS设备。

二: 普通任务

Instruments应用程序存在于Xcode应用程序中,所以最直接的方式是从Xcode中启动它。您也可以通过DockLaunchpad或命令行间接启动它。

2.1: 从Xcode启动Instruments

启动Instruments最直接的方法是通过Xcode中的Xcode菜单。

2.1.1:从Xcode菜单启动Instruments
  • Open Xcode.
  • Choose Xcode > Open Developer Tool > Instruments.

[图片上传失败...(image-e4e588-1512112827655)]

2.1.2: 分析打开的Xcode项目
  • 启动Xcode并打开您的项目。 执行以下任一操作:
  • Choose Product > Profile.
    [图片上传失败...(image-f300a4-1512112827655)]

点击并按住Xcode工具栏中的运行按钮,然后选择配置文件
[图片上传失败...(image-ec03e2-1512112827655)]

Xcode构建您的项目,仪器启动,并提示您选择一个分析模板

如果您需要定期使用相同的模板来分析您的应用程序,那么您可以将您的Xcode项目设置为在启动分析时自动使用它。

2.1.3: 设置Xcode项目以使用特定的Instruments概要分析模板

Xcode构建您的项目,Instruments启动,并开始使用您在方案编辑器中配置的模板来分析您的应用程序。

2.2: Instruments的左右

Instruments有几个关键的窗口和对话框

2.2.1: 分析模板选择对话框

Instruments启动时,将显示一系列分析模板 - 包含预配置仪器组的文件 - 供您选择。 此列表包含一组标准模板以及您可能创建的任何自定义模板。
[图片上传失败...(image-afd3c2-1512112827655)]

性能分析模板选择对话框由以下主要元素组成:

  • 目标设备列表: 点击此选择你想要分析的设备
  • 目标进程列表:点击此选择要进行配置的进程或进程
  • 过滤器按钮:单击这些可以过滤模板列表,只显示标准模板,自定义模板或最近使用的模板
  • 搜索栏:输入一些文字快速找到您需要的模板。这将搜索模板标题和说明
  • 模板列表:分析模板列表,如果您单击过滤器按钮或输入搜索条件,则可能会对其进行过滤
  • 模板描述:当前选择的概要分析模板的简短描述,可以帮助您确定所选模板是否符合您的需求
  • 选择按钮:点击此按钮,根据当前选择的模板创建一个新的配置文件。
    当您按下Option键时,此按钮将变为配置文件。 单击“配置文件”按钮,根据当前选定的模板创建新文档,并立即开始分析目标进程
  • 打开按钮:点击此按钮打开一个先前保存的配置文件,而不是从一个新的模板开始
  • 取消按钮:点击此按钮关闭模板选择对话框

您可以随时通过选择File> New(或按Command-N)来显示概要分析模板选择对话框。

2.2.2: 跟踪文件

跟踪文档(图5-2)用于组织和配置分析Instruments,启动数据收集以及查看和分析结果, 您可以通过启动仪器并选择分析模板或通过从Xcode,Dock或命令行启动分析来创建新的跟踪文档.
您也可以保存并重新打开已配置仪器和收集数据的跟踪文档,跟踪文档可以包含很多非常详细的信息,这些信息通过一些窗格和区域呈现给您。

The trace document

工具栏
工具栏(图5-3)允许您启动,暂停和停止数据分析,添加乐器,隐藏和显示窗格等等
[图片上传失败...(image-f64e74-1512112827655)]

它包括以下主要内容

  • 分析控件:允许您记录,暂停和停止数据收集
  • 目标设备列表:允许您选择您想要进行配置的设备
  • 目标进程列表:允许您选择要进行配置的进程或进程
  • 活动查看器:显示当前轨迹的经过时间或时间线窗格中检查头的位置。如果跟踪文档有多个与之关联的数据运行,那么这里也会显示
  • 添加乐器按钮(+):显示或隐藏乐器库调色板,其中包含可用乐器的完整列表。从这里,您可以选择单个仪器并将其添加到跟踪文档中
  • 策略按钮:控制时间线窗格中显示的信息的类型
    • CPU:在时间轴窗格中显示CPU内核列表及其收集的数据。只有跟踪文档包含记录CPU数据的仪器时才可用
    • instruments:在时间轴窗格中显示仪器及其对应数据的列表。
    • Threads:在时间线窗格中显示线程列表及其对应的数据。只有跟踪文档包含记录线程数据的工具时才可用。
  • 查看按钮():隐藏或显示详细信息窗格和检查器

1: 时间轴窗格
时间轴窗格显示为给定轨迹记录的数据的图形摘要。 在该窗格中,每个仪器,CPU核心或线程都有自己的“轨道”,它提供了收集数据的图形图表。 单击工具栏中的策略按钮以显示仪器,CPU核心或线程数据

尽管此窗格的信息是只读的,但您可以滚动浏览数据,选择特定区域进行仔细检查,并插入标记以突出显示兴趣点。 您可以通过调整缩放级别或更改检查器中各个乐器的记录设置来更改图形信息的显示方式。

2: instruments战略视图
这是跟踪文档中包含的所有单个工具的列表,以及其收集的数据, 您可以从库调色板中将新乐器拖到列表中.Add an Instrument to a Trace Document如果您在列表中选择一种instruments,则可以在检查器窗格中将其删除或配置。创建跟踪文档时,默认情况下可以显示文档列表。

[图片上传失败...(image-94f9fa-1512112827655)]

3: CPU策略视图
如果跟踪文档包含记录CPU相关数据的仪器,则会显示一系列CPU内核及其使用情况
[图片上传失败...(image-fd9294-1512112827655)]

3: Threads策略视图
如果跟踪文档包含记录线程相关数据的工具,则会显示线程列表及其使用情况(图5-6)。
[图片上传失败...(image-ce23ef-1512112827655)]

四: 细节窗格
此窗格显示跟踪文档中仪器收集的数据的详细信息(请参见图5-7)。在时间线窗格中选择一个单独的仪器,以查看在分析时收集的数据

The trace document detail pane

五: 导航栏
详细信息窗格顶部的导航栏(图5-8)可帮助您浏览收集的数据。您可以使用它来在不同类型的数据之间进行切换并浏览不同级别的数据

image

2.2.4: 分析模板选择对话框
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,099评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,473评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,229评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,570评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,427评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,335评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,737评论 3 386
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,392评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,693评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,730评论 2 312
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,512评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,349评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,750评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,017评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,290评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,706评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,904评论 2 335

推荐阅读更多精彩内容