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的工作原理有一个深入的了解, 以及关键的应用程序开发概念,例如构建和运行应用程序,以及配置设备。
您还应该熟悉要执行的分析类型的核心概念, 例如,如果你正在检查你的应用程序的内存问题,那么你应该知道一些内存管理和潜在的内存问题,如leaks
和zombies
, 如果您正在检查应用程序的性能问题,则应了解CPU
和thread utilization
, 如果您想解决电池问题,您应该了解可能对功耗产生负面影响的各种问题,如显示屏亮度,网络接口(GPS,蓝牙,Wi-Fi)使用情况以及计时器使用情况。
本指南中提供了有关这些主题和其他主题的背景信息。其他资源的链接可以在以下网址找到:
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中启动它。您也可以通过Dock
,Launchpad
或命令行间接启动它。
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概要分析模板
1: 启动Xcode并打开您的项目
2: Choose Product > Scheme > Edit Scheme.
[图片上传失败...(image-8c7fc7-1512112827655)]
或者,从Xcode工具栏的Scheme弹出菜单中选择Edit Scheme
[图片上传失败...(image-b864b7-1512112827655)]
出现方案编辑器对话框。
![])(https://developer.apple.com/library/content/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Art/xcode_scheme_editor_dialog_2x.png)3: 在方案编辑器对话框的边栏中单击配置文件。
[图片上传失败...(image-5e1ad0-1512112827655)]4: 在“信息”下,单击“Instruments”弹出式菜单,然后选择所需的分析模板
[图片上传失败...(image-cbc9ea-1512112827655)]
如果选择“启动时询问”,Instruments将在启动时显示其分析模板选择对话框。5: 点击关闭。
6: 启动分析, To profile an opened Xcode project
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或命令行启动分析来创建新的跟踪文档.
您也可以保存并重新打开已配置仪器和收集数据的跟踪文档,跟踪文档可以包含很多非常详细的信息,这些信息通过一些窗格和区域呈现给您。
工具栏
工具栏(图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)。在时间线窗格中选择一个单独的仪器,以查看在分析时收集的数据
五: 导航栏
详细信息窗格顶部的导航栏(图5-8)可帮助您浏览收集的数据。您可以使用它来在不同类型的数据之间进行切换并浏览不同级别的数据