赞
踩
主要途径是参考苹果官方文档,所以介绍以翻译官方文档为主。由于内容比较多,会分阶段来介绍。
以下来自苹果官方文档中对Instruments描述
Instruments
是一个强大而灵活的性能分析和测试工具,它是Xcode
开发工具集的一部分,它被设计用于帮助分析OS X
和iOS
的应用、进程与设备,以便更好的理解和优化它们的行为和表现。结合Instruments
从你的app
开发工作刚刚开始,可以节省你的时间,帮助你在开发周期的早期发现问题。
在Instruments
中,可以使用指定的工具,跟踪应用app
、进程、设备不同方面的行为,Instruments
将数据收集在配置文件中,并将详细分析的结果显示出来。
不像其他的性能和调试工具,Instruments
允许你广泛的收集不同类型的数据并一起呈现出来,这让它很容易的去表示在其他方面可能被忽略的情况。例如你的app
可能由于打开多个网络连接而导致大量的内存增长,通过一起使用Instruments
中Allocations
和Connections
工具,你可以辨认而不用关闭它,找到导致快速内存增长的连接。
Instruments
可能看起来像一个复杂的应用程序。它可以用来收集有关你的应用程序各种有用的信息有关的应用程序,并帮助您诊断和解决问题。但是整体的Instruments
工作流是相对简单的。在高层次上,它由以下的主要阶段:
app
app
当正在用Xcode
测试你的app
时,在使用Instruments
之前参考调试导航栏中的信息,这些信息包括应用程序的CPU,内存,能源消耗等,通常情况下这里会提供所有你需要提高性能与快速解决常见问题的信息。当你需要执行更多详细的分析时需要使用Instruments
。
在Xcode
导航栏中CPU调试界面如下
Instruments
分析一个打开的Xcode
项目
1. 启动Xcode
并且打开一个项目
2. 请执行下列操作之一:
Xcode
中builds
你的项目,Instruments
启动,并且系统会提示您选择分析模板。如果你经常用相同的模版配置你的app
,可以设置Xcode
项目自动使用,每当你初始化配置时。
建立一个Xcode项目使用特定的Instruments
分析模板
1. 启动Xcode
并且打开一个项目
2. 选择 Product > Scheme > Edit Scheme
或者在Xcode
工具栏中Scheme
弹出菜单中选择
3.点击Profile
4.请单击Instruments
弹出菜单,然后选择所需的分析模板。
如果选择Ask on Launch
,Instruments
启动时显示其分析模板选择对话框。
5.点击Close
Xcode中建立你的项目,Instruments
启动,并开始根据在方案编辑器配置的模板分析你的应用程序。
Instruments
有几个主要的窗口和对话框。
当Instruments
启动后,将会呈现一个分析模版的列表,从中选择模板 - 文件的列表。这份名单包括一组标准模板,以及您可能已经创建的任何自定义模板。包含Instruments
预先配置的设置,从中选择,这份名单包括一组标准模板,以及你可能已经创建的任何自定义模板。
该分析模板选择对话框包含以下主要元素:
option
键这个按钮变成Profile
点击Profile
按钮基于当前选择的模版创建一个新的文档并立即开始分析目标进程。跟踪文件是用来组织和配置Instruments
分析,主动收集数据,以及查看和分析结果。通过启动Instruments
并选择一个分析模板或者从Xcode中,Dock中,或命令行创建一个新的跟踪文件。您还可以保存并重新打开您在其中配置Instruments
和收集到的数据的跟踪文件,跟踪文件可以包含很多非常详细的信息,而这些信息是通过一些窗口和区域呈现出来。
该工具栏可以启动,暂停和停止数据剖析,添加Instruments
,隐藏和显示面板等。它包括以下主要内容:
instruments
并将它们添加到你的跟踪文档。时间线面板显示记录,对于给定的跟踪数据的图形总结。在该面板中,每个instrument
,CPU核心,或线程有其自己的“轨道”,其提供所收集的数据的图形图表。点击工具栏上Strategy buttons
来显示仪表,CPU核心或线程的数据。
虽然此面板的信息是只读的,但可以通过数据滚动,选择特定的区域进行更严密的检查,并插入标志到突出的兴趣点。你可以通过调整缩放级别改变信息图形,或通过改变指示器中各个工具的记录设置显示在这里。
工具分析视图
这是一个在追踪文件内包含的所有工具列表,以及它们的所收集的数据。可以从库面板中的列表拖拽一个新的工具。如果您在列表中选择一个工具,你可以将它删除或通过检查面板中进行配置。当你创建一个跟踪文件该工具列表默认为可见。
CPU分析视图
如果跟踪文档包含记录CPU的相关数据,在此显示的CPU内核,CPU内核与它们运行的超时时间被显示在这。
线程分析视图
如果您的跟踪文件中包含该记录线程相关的数据的工具,在这里显示线程列表及其使用率。
此面板显示有关在你的跟踪文档中的工具收集的数据详细信息。在时间线面板中选择各个工具,看它收集分析的数据。
导航栏
在详细信息面板顶部的导航栏可以帮助你通过收集到的数据进行浏览。可以用它来在不同类型的数据之间进行切换,并通过不同层级的数据进行导航。
收集数据区域
所收集的数据区域显示为选定工具中的数据,通常以表格形式。这里显示的内容从工具到工具直接显著变化。例如,活动监视器工具显示的线程,CPU,线程信息,等等。
通常情况下,在此区域内的各符号和数据点包含导航按钮当你在移动鼠标指针时它们出现。您可以点击这些按钮来移动到更深入数据。当你这样做,导航栏更新树结构,以反映你身在何处的层次结构。
此面板包含特定工具的设置,你可以为了控制记录行为,在时间线和详细面板中的可视信息进行调整。此面板有时也显示了通过数据的详细信息面板浏览时可能是有用的附加信息。
记录设置区域
在这方面提供的设置而异,这取决于活动的工具。通常情况下,工具提供设置,允许调整某些属性有关数据是如何记录,如采样率或数据捕获的类型。
显示设置区域
在这方面的设置也各不相同,这取决于工具。这些设置可以帮助你:
扩展详细区域
这个区域不包含任何设置。相反,它是用来显示附加工具特定的信息,有关详情面板中选择的数据,例如一个完整的栈跟踪。
库面板提供了可用的工具,相关组完成列表并允许你将它们添加到你的跟踪文件。在这里,你可以浏览工具的描述,过滤特定的工具,并建立常用工具,以便快速访问你自己的自定义分组。要显示库面板中 选择Window > Library,或按下Command-L,或单击在跟踪文档工具栏(+)按钮。
该标识面板显示你可能在活动的追踪文件中时间线面板应用的所有标识。在这个面板中,您可以选择一个标识,快速定位到它的时间线。您也可以通过标志的大列表过滤指定的标识,显示和隐藏你的标识,与你的标识的时间戳。
在Instruments
中,所有的工作都是在一个跟踪文件,包括一整套工具,它们的配置与它们已经收集的数据,一旦用追踪文件分析一个应用时,你可以保存这个收集追踪数据的文档,然后再次打开它后进行观察和分析。
当Instruments
第一次启动时,它提供的分析模板列表。每一个模版都包含了一组工具的集合,用来分析应用程序与收集信息,为了帮助找到问题,或让你的应用更加有效率。你应该计划使用分析模板作为一个起点,每当你需要收集数据用于一个指定的原因。例如,如果你想查询你的应用程序内存的问题,你应该选择一个与内存相关的模板,例如Allocations, Leaks, or Zombies,使用模板来创建跟踪文件后,可以随时添加或删除单个工具,或者根据需要重新配置工具。
你用Instruments
开始分析时需要创建一个追踪文件
创建一个追踪文件
1.启动Instruments
2.当选择分析模版对话框出现时,选择一个目标设备与进程
3.选择需要的分析模板。
4.单击Choose
从你选择的模版中,一个预先配置工具的新文件已经被创建
一旦你创建一个跟踪文件,你可以将其保存以供日后参考。Instruments
保存跟踪文件,Instruments
跟踪文件扩展.trace。
保存跟踪文件
1.创建一个跟踪文件,参考上面
2.
3.输入一个文件名
4.选择保存文件的目录
5.默认保存最近运行的跟踪数据,如果想保存多次运行的数据则取消复选框。
6.单击保存
如果你创建你认为你可能需要再次进行分析其他应用程序追踪文档,你可以将它保存为自定义模板,以便你不必每次运行Instruments
都要来重新创建它。
保存跟踪文档作为一个分析模板
1.创建或者打开一个追踪文件
2.
3.输入模版名称
4.选择一个目录
将模版保存到 /Users//Library/Application Support/Instruments/Templates目录使其在Instruments
模板窗口的自定义栏可用,这是在另存为模板对话框中的默认目录。
5.选择一个模版图标
6.输入一个模版描述
7.单击保存
一旦你保存模板,它会自动出现在分析模板选择对话框,分组为自定义模板。下次当你创建一个跟踪文件,你可以选择它作为起点。
请执行下列操作之一:
Instruments
的应用程序图标。 Instruments
并执行以下步骤: 用追踪文件分析,需要指定一个目标,也就是说需要告诉Instruments
要分析什么,你要分析的在哪里,例如真机或者模拟器
当你创建一个追踪文件时,Instruments
会显示分析模版选择的对话框,此对话框的顶部包括一个目标设备列表和目标进程列表,它允许你当选择一个模版时指定一个目标设备,这些列表包括,配置货连接你的Mac上的任何设备,包括模拟器,以及任何在这些设备上的任何可用进程,最近目标进程,应用程序扩展,活动进程,系统进程也在列表内
目标列表在每个追踪文档中是可用的,允许你在一个追踪文档中工作室任何时间改变目标。
1.单击目标设备列表或目标进程列表,然后选择所需的设备和目标
有些工具允许你针对所有进程。如果你想做到这一点,选择在目标进程列表中的所有进程。
如果需要的进程没有列出,在目标进程列表中选择目标。这将显示一个对话框,允许您浏览的任何进程。您也可以通过这个对话为进程配置环境变量。
要设置iOS设备,将设备连接到开发的Mac上。一旦连接,该设备将在目标设备列表中显示。
Instruments
还可以让你以无线方式收集iOS设备数据。测试以下时,无线性能分析是非常有用的:
无线设置一个iOS设备
1.确保你的移动设备通过USB或Lightning连接到你的开发的Mac。
2.按Option键并单击目标设备列表。
3.选择你要实现无线的移动设备并分析它。
4.再次单击目标设备列表中打开它,选择设备的无线版本,并选择一个进程。
5.开设备USB或Lightning。
你现在应该能够以无线方式分析你的设备上的进程。
在用Instruments
部署一个Apple Watch之前必须先准备好手表进行分析。
准备一个Apple Watch用于分析
1.确保你的Apple Watch与你开发的iPhone是配对的
2.退出Instruments
3.启动Xcode
4.通过USB
或Lightning
连接与你Apple Watch配对的iPhone到你的Mac
上。
5.选择Window > Devices 或者按Shift-Command-2打开在Xcode中打开设备窗口。
6.等待iPhone出现在设备列表中。
7.等待与iPhone配对的Watch出现。
8.等待Xcode中表示Watch已做好准备。这个过程可能需要几分钟。
9.从USB或Lightning断开iPhone。
10.再次将iPhone通过USB或Lightning连接。
一旦你的Apple Watch
已经出现准备分析,重新启动Instruments
,Apple Watch
应该已经出现在设备列表中了。
在一个跟踪文件内。单独的数据收集模块被称为工具(instruments),它随着时间推移收集应用程序,进程,设备的数据,每个工具收集和显示一个特定类型的信息,例如文件存储,内存使用或者网络连接。Instruments
是包括了工具(instruments)库,其目的是为了满足大多数开发人员,高级开发人员的需求,然后也可以自定义工具,使用DTrace收集其他类型的数据。
库面板显示所有的工具,你可以添加到一个跟踪文件。该库包含了所有内置的工具,也可以是任何你已经定义过的自定义工具。
显示库面板
请执行下列操作之一:
Command-L
在库面板中的工具清单很长,特别是如果你已经添加自己的自定义工具。有几种方法过滤和整理,以便快速找到更多需要工具的列表。
搜索工具
在库面板的底部筛选可以根据它们的名称,描述,分组或者关键字很容易找到指定的工具
更改库的视图模式
在库面板的工具可以被看作是有或没有名称和描述的图标。
1.在库面板底部点击操作按钮
2.从出现的菜单中选择所需的视图模式。
这些视图模式分别为
View Icons
View Icons And Labels
View Icons And Descriptions
View Small Icons And Labels
工具分组
默认情况下,库面板显示所有可用的工具。然而,工具还可以按功能分组。你可以显示横幅来标识各工具分组,你可以通过这些分组进行筛选。
显示分组标识
1.在库面板底部点击操作按钮
2.从菜单中选择显示组标识。
筛选分组
自定义工具组
如果有需要你可以在库面板中创建自定义分组来管理你常用的工具
静态工具组
1.
2.输入组名并按回车
3.在组列表中选择库。
4.找到所需的工具并将它们拖放到新组。
智能工具组
1.
2.该组中的标签字段中输入名称。
3.指定该组的条件
4.单击 (+)创建一个新的规则
5.单击OK
6.点击智能分组并验证其是否正确填充。
每个智能分组必须至少有一个规则。您可以添加额外的规则,根据需要使用规则编辑器的控件,然后配置分组支持全部或部分的规则。下表列出了可用于工具规则的标准。
Criteria | Description |
---|---|
Label | Matches instruments based on their title. Available comparison operators include: Starts With,Ends With,Contains |
Used Within | Matches instruments based on when they were last used. You can use this filter for instruments that were used within the last few minutes, hours, days, or weeks. |
Search Criteria Matches | Matches instruments whose title, description, category, or keywords include a specified string |
Category | Matches instruments whose library group name contains or exactly matches the specified string. This criteria does not match against custom groups. |
编辑已经存在的智能工具分组
请执行下列操作之一:
移除智能分组
请执行下列操作之一:
无论你是基于模板创建还是一个空白的追踪文件,你可以扩展其功能添加新的工具。
添加一个工具到追踪文件中
1.打开追踪文件
2.显示库面板
3.找到所需的工具
4.从库面板拖动工具到观察窗格列表中工具列表的所需位置在跟踪文件中。
在追踪文件中工作时,你可以轻松地删除你不再需要的工具。
从分析文件中删除工具
1.打开追踪文件。
2.
3.
4.当出现提示时,单击确定以确认你要删除的工具。
工具一旦添加它们到追踪文件中就准备使用,然而在某些情况下你可能要自定义设置工具,例如你可能希望调整Activity Monitor的采样率,或者正在用Allocations分析释放内存通过禁止事件。像这样的自定义设置是不同的,这取决于工具。许多工具包含一些操作,用于确定哪些类型的信息是由工具本身被收集。您可以在导航窗中的记录设置区域调整这些设置。
记录跟踪后,工具在详细信息面板显示结果,这些结果在不同的工具上各不相同,它们可以包括摘要,调用树,和样本列表。通常情况下,大量的数据在这里展示与它的耗时,为了帮助迅速得到正确的信息,工具经常(这取决于工具)允许你调整和筛选展示的信息,如果工具支持这些操作,你可以找到他们在导航面板中的显示设置区域。用于配置时间线面板中的内容选项也在这里找到。
当App正在运行时Instruments
收集有关App的信息,这章介绍如何使用工具来收集信息。
当你准备分析你的app时,开始录制,在录制时,跟踪文件里的工具根据配置监视你的app,时间线窗口和详情窗口会更新已经捕捉的实时视图。
开始录制
请执行下列操作之一:
在追踪文件的工具栏中点击录制()按钮
按Command-R
你可以按Command-R停止录制
设置录制选项
设置录制选项为了在追踪文件内改善数据收集,录制前选择一个delay
,录制的最长时间,保存这些数据,或者是否在deferred mode
下记录数据。
为追踪文件设置录制选项
1.
2.
选项包括:
3.点击OK关闭窗口
如果有必要,可暂停录制,并在以后再次恢复。
请执行下列操作之一:
一旦你已经记录到你想要的数据,停止录制这样你就可以开始分析收集到的数据。
停止录制
请执行下列操作之一:
你可以从Dock中Instrusments
应用图标触发Time Profiler
来录制后台的某些事件。
从Dock栏收集Time Profiler信息
1.随着Instrusments
打开,点击Instruments
图标
2.选择分析的进程开始录制
选项包括:
Instrusments
是Xcode开发工作流程的重要组成部分,你可以从Xcode中直接启动它创建和测试你的应用程序。
从build和product菜单开始分析
从build和product菜单开始分析分析你的app
1.在Xcode中打开一个app项目
2.请执行下列操作之一:
按Command-I
Instruments
启动并显示分析模板选择对话框。请注意,您的应用程序已经在target device和process lists自动选择。
使用一个默认的模版
1.在Xcode中打开一个app项目
2.请执行下列操作之一:
按Command–<
3.
4.在Instruments
弹出菜单选择要设置默认的模版
5.点击close
现在,只要你分析应用程序时,Instruments
会自动打开你选择的模版并开始分析。
当调试时从Xcode指示器来分析
Xcode
的调试导航器包括几个监测指示器当你测试并调试app时。这些指示器可以追踪多种因素,包括CPU使用率,内存,电量等影响,并提醒你可能影响性能,功耗以及潜在的问题,如果你在测试app时发现了一个影响要进一步的检查,可以过渡到Instruments
来获取更多的信息。
从Xcode指示器开始分析
1.打开一个项目并运行
2.当你的应用程序正在运行,通过执行下列操作之一显示调试导航:
按Command-6
3.点击要查看的指示器
4.
注意
并不是所有的Xcode指示器都有Profile in Instruments
按钮,例如The Energy Impact
指示器,包括几个按钮用于Instruments
启动不同类型的分析会话。
5.当出现提示时,选择是否转换当前运行的app到Instruments
或者停止当前运行的app并开始启动一个新的Instruments
。
略…
Instruments
被设计尽量减少其自身对数据收集的影响。通过改变一些基本的设置,但是你可以进一步降低Instruments
对数据收集的影响。
你可以减少采样间隔以便收集更多的数据,然而低的采样间隔导致高的采样率可能会出现几个问题:
在Deferred模式下运行Instruments
直到退出正在测试的应用程序,通过延迟数据分析提高性能相关的数据的准确性。通常情况下当你app运行时Instruments
分析和显示数据,允许你查看它收集的数据,通过占用CPU时间和内存,实时运行分析减缓目标进程,使得你的测量可能不能反应进程怎么样正常运行。运行Instruments
在deferred mode 下延迟数据的分析,直到数据采集完成,无论是在您的应用程序运行完毕后,或单击停止。当在deferred mode下,你被禁止从正在收集数据的工具交互。
在deferred mode
下,Instruments
完成数据收集后,处理这些数据并在屏幕上显示出来,延迟数据分析附加时间到采集数据的后期阶段处理,但它有助于确保性能相关的数据时准确的。
Instruments设置deferred mode
1.
2.
对于特别长追踪,延迟模式造成的延迟更显著。避免这种延迟设置,延迟模式只有那些需要极其精确的数据采集追踪。
追踪设置deferred mode
1.
2.
由于篇幅太长会再开一篇blog介绍对收集的数据进行分析
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。