Instruments 是一個(gè)強(qiáng)大的饥瓷、靈活的 性能分析 和測(cè)試工具的Xcode工具集的一部分叉袍。它的目的是幫助您配置您的OS X和iOS應(yīng)用程序、進(jìn)程和設(shè)備,以便更好地理解和優(yōu)化他們的行為和性能未妹。從應(yīng)用程序開(kāi)發(fā)過(guò)程的開(kāi)始將工具集成到您的工作流中,可以幫助您在開(kāi)發(fā)周期的早期找到問(wèn)題空入。
在Instruments中络它,您使用專門的工具,來(lái)跟蹤應(yīng)用程序执庐、進(jìn)程和設(shè)備的不同方面酪耕。Instruments收集數(shù)據(jù)作為它的概況,并向您詳細(xì)介紹分析結(jié)果轨淌。
與其他性能和調(diào)試工具不同迂烁,Instruments允許您收集大量不同類型的數(shù)據(jù),并排查看它們递鹉。這使得識(shí)別可能被忽略的趨勢(shì)變得更容易盟步。例如,應(yīng)用程序可能會(huì)顯示由于多個(gè)開(kāi)放網(wǎng)絡(luò)連接而導(dǎo)致的大量?jī)?nèi)存增長(zhǎng)躏结。通過(guò)使用Allocations 和Connections工具一起却盘,您可以識(shí)別不關(guān)閉的連接,從而導(dǎo)致快速的內(nèi)存增長(zhǎng)原因媳拴。
通過(guò)有效地使用Instruments黄橘,您可以:
檢查一個(gè)或多個(gè)應(yīng)用程序或進(jìn)程的行為
檢查設(shè)備特定的功能,如Wi-Fi和藍(lán)牙
在模擬器或物理設(shè)備上執(zhí)行概要分析
創(chuàng)建自定義的DTrace儀器分析方面的系統(tǒng)和應(yīng)用程序的行為
追蹤問(wèn)題在你的源代碼
對(duì)應(yīng)用程序進(jìn)行性能分析
查找應(yīng)用程序中的內(nèi)存問(wèn)題屈溉,如泄漏塞关、廢棄內(nèi)存和僵尸
找出優(yōu)化你的應(yīng)用程序以提高電源效率的方法
執(zhí)行一般系統(tǒng)級(jí)故障排除
將工具配置保存為模板
雖然它是嵌入在可使用Xcode,Instruments是一個(gè)單獨(dú)的應(yīng)用程序子巾,這可能需要使用獨(dú)立帆赢。
The Instruments Workflow -->Instruments 的工作流程
Instruments 看起來(lái)可能是一個(gè)復(fù)雜的應(yīng)用程序。它可以用來(lái)收集關(guān)于你的應(yīng)用程序的各種有用信息线梗,并幫助你診斷和解決問(wèn)題椰于。但是,整個(gè)Instruments工作流程相對(duì)簡(jiǎn)單
見(jiàn)圖2-1:
At a high level, it consists of the following main phases:
Set up a trace document containing the desired instruments and settings.
Target a device and an app to profile.
Profile the app.
Analyze the data captured during profiling.
Fix any problems in your source code.
在高層次上仪搔,它由以下主要階段組成:
設(shè)置包含所需工具和設(shè)置的跟蹤文檔瘾婿。
目標(biāo)設(shè)備和應(yīng)用程序配置文件。
應(yīng)用程序簡(jiǎn)介。
分析分析過(guò)程中捕獲的數(shù)據(jù)憋他。
修正源代碼中的任何問(wèn)題孩饼。
Know When to Use Instruments 知道何時(shí)使用Instruments
在Xcode中測(cè)試你的應(yīng)用程序的調(diào)試髓削,Instruments 提供了應(yīng)用程序的CPU竹挡、內(nèi)存、能源使用量等高級(jí)信息立膛。通常揪罕,它們提供了您所需的所有信息,以提高性能并快速解決常見(jiàn)問(wèn)題宝泵。在需要進(jìn)行更詳細(xì)的分析時(shí)使用工具好啰。
The CPU debugging gauge in Xcode [ge?d?] 測(cè)量
About This Document
為了幫助您快速找到您需要的信息,該文檔被組織成一些側(cè)重于工具的特定方面的部分儿奶。
第一個(gè)主要部分集中在使用 Instruments App框往。它涵蓋了創(chuàng)建文檔、查找工具闯捎、完成應(yīng)用程序椰弊、分析數(shù)據(jù)等功能。到這里來(lái)看看如何做一般任務(wù)瓤鼻。
后面的部分涉及更專業(yè)的任務(wù)秉版,比如提高性能、解決內(nèi)存問(wèn)題和提高電池壽命茬祷。
最后部分為個(gè)別 Instrument和模板提供了參考指南清焕,以及額外的資源和參考材料。
先決條件
Background Knowledge 背景知識(shí)
在使用Instruments 前祭犯,你應(yīng)該有一個(gè)堅(jiān)實(shí)的理解如何Xcode工程(參見(jiàn)Xcode概述)秸妥,以及關(guān)鍵的應(yīng)用程序開(kāi)發(fā)的概念,如建立和運(yùn)行一個(gè)應(yīng)用程序沃粗,并提供設(shè)備粥惧。
您還應(yīng)該熟悉要執(zhí)行的分析類型的核心概念。
例如:
- 如果您正在檢查內(nèi)存問(wèn)題的應(yīng)用程序陪每,那么您應(yīng)該知道一些內(nèi)存管理和潛在的內(nèi)存問(wèn)題影晓,比如泄漏和僵尸。
- 如果您正在檢查性能問(wèn)題的應(yīng)用程序檩禾,您應(yīng)該知道CPU和線程的利用率挂签。
- 如果你要解決電池的問(wèn)題,你應(yīng)該知道的事情盼产,哪些會(huì)影響電源的種類饵婆,如顯示亮度、網(wǎng)絡(luò)接口(GPS戏售、藍(lán)牙侨核、Wi-Fi)的使用草穆,和定時(shí)器的使用票髓。
System Requirements 系統(tǒng)要求
安裝了Xcode哥蔚。
如果你計(jì)劃在iOS設(shè)備上配置一個(gè)應(yīng)用程序置鼻,你需要提供你的設(shè)備袱蜡。在設(shè)備上啟動(dòng)你的應(yīng)用程序昆烁。
備注:
- Instruments is available with Xcode 3.0 and later, and is supported in OS X v10.5 and later.
- Instruments can profile iOS devices running iOS 6 or later.