INSTRUMENTS調(diào)試工具的使用(十七) —— 通常任務(wù)之記錄载弄、暫停和停止跟蹤(六)

版本記錄

版本號 時(shí)間
V1.0 2018.06.13

前言

我們在做app的時(shí)候,不是做完功能就結(jié)束了睦尽,很多時(shí)候是需要進(jìn)行檢查和優(yōu)化的,而xcode自帶了一個(gè)很好的檢查工具型雳,可以檢測內(nèi)存泄漏当凡。還可以查看哪一個(gè)方法比較耗時(shí)。還可以檢測離屏渲染等等纠俭,隨后的幾篇我們就說一下這個(gè)工具的使用沿量。感興趣的可以看這幾篇。
1.INSTRUMENTS調(diào)試工具的使用(一)
2.INSTRUMENTS調(diào)試工具的使用(二)
3.INSTRUMENTS調(diào)試工具的使用(三)
4.INSTRUMENTS調(diào)試工具的使用(四)
5.INSTRUMENTS調(diào)試工具的使用(五)
6.INSTRUMENTS調(diào)試工具的使用(六)
7.INSTRUMENTS調(diào)試工具的使用(七)
8.INSTRUMENTS調(diào)試工具的使用(八)
9.INSTRUMENTS調(diào)試工具的使用(九)
10. INSTRUMENTS調(diào)試工具的使用(十)
11. INSTRUMENTS調(diào)試工具的使用(十一) —— 簡介(一)
12. INSTRUMENTS調(diào)試工具的使用(十二) —— 通常任務(wù)之啟動(dòng)Instruments(一)
13. INSTRUMENTS調(diào)試工具的使用(十三) —— 通常任務(wù)之簡單了解Instruments(二)
14. INSTRUMENTS調(diào)試工具的使用(十四) —— 通常任務(wù)之創(chuàng)建冤荆、保存和打開跟蹤文檔(三)
15. INSTRUMENTS調(diào)試工具的使用(十五) —— 通常任務(wù)之指定目標(biāo)應(yīng)用和設(shè)備(四)
16. INSTRUMENTS調(diào)試工具的使用(十六) —— 通常任務(wù)之訪問和使用個(gè)別儀器(五)

Record, Pause, and Stop Traces - 記錄朴则、暫停和停止跟蹤

儀器在運(yùn)行時(shí)收集有關(guān)您的應(yīng)用的信息。 本章介紹如何指導(dǎo)儀器收集信息钓简。


Record a Trace - 記錄跟蹤

當(dāng)你準(zhǔn)備好分析你的應(yīng)用時(shí)乌妒,你開始記錄。 在記錄時(shí)外邓,跟蹤文檔中的instruments將根據(jù)其配置監(jiān)控您的應(yīng)用撤蚊。 發(fā)生記錄時(shí),時(shí)間軸窗格和詳細(xì)信息窗格將更新以提供捕獲內(nèi)容的實(shí)時(shí)視圖损话。

To begin recording - 開始錄制

執(zhí)行以下操作之一:

  • 單擊跟蹤文檔工具欄中的記錄按鈕侦啸。
  • 選擇File> Record Trace(或按Command-R)。

再次點(diǎn)擊Command-R停止記錄丧枪。

1. Set Recording Options - 設(shè)置錄制選項(xiàng)

設(shè)置記錄選項(xiàng)以改善跟蹤文檔中的數(shù)據(jù)收集光涂。 記錄前選擇延遲時(shí)間,要記錄的時(shí)間長度拧烦,要保存的數(shù)據(jù)量或是否以延遲模式記錄數(shù)據(jù)忘闻。

To set the recording options for a trace - 設(shè)置跟蹤的錄制選項(xiàng)

  • 1)選擇File> Record Options打開Record Options對話框
  • 2)根據(jù)需要自定義設(shè)置

選項(xiàng)包括:

  • Time limit - 時(shí)間限制:儀器將記錄數(shù)據(jù)的最長時(shí)間(以秒為單位)。
  • Window limit - 窗口限制:將被保存的數(shù)據(jù)的最大持續(xù)時(shí)間(以秒為單位)屎篱。 如果記錄的持續(xù)時(shí)間超過指定窗口限制的時(shí)間(例如服赎,超過4秒),則僅保存最近4秒內(nèi)收集的數(shù)據(jù)交播。
  • Deferred mode - 延遲模式:選擇推遲數(shù)據(jù)分析重虑,直到數(shù)據(jù)收集完成。 這可以導(dǎo)致更快和更準(zhǔn)確的數(shù)據(jù)收集秦士,因?yàn)楦嗟南到y(tǒng)資源針對正在記錄的過程缺厉。

注意:如果不適用于跟蹤文檔中的工具或儀器中的首選項(xiàng)配置,則可能禁用此對話框中的某些選項(xiàng)。 要確定選項(xiàng)被禁用的原因提针,請將鼠標(biāo)懸停在該選項(xiàng)上幾秒鐘以查看其工具提示命爬。OS X 10.7或更高版本以及iOS 5或更高版本支持Window Limit

  • 3)點(diǎn)擊OK關(guān)閉Record Options對話框辐脖。

Pause a Trace - 暫停跟蹤

如有必要饲宛,您可以暫停錄制并在稍后再次恢復(fù)。

To pause an active recording - 暫褪燃郏活動(dòng)錄制

執(zhí)行以下操作之一:

  • 單擊跟蹤文檔工具欄中的暫停按鈕艇抠。
  • 選擇File> Pause Trace(或按Shift-Command-R)。

Stop a Trace - 停止跟蹤

一旦記錄了所需的數(shù)據(jù)久锥,請停止記錄家淤,以便開始分析收集的數(shù)據(jù)。

To stop an active recording - 停止活動(dòng)錄制

執(zhí)行以下操作之一:

  • 單擊跟蹤文檔工具欄中的停止按鈕瑟由。
  • 選擇File > Stop Trace(或按Command-R)絮重。

Profile from the Dock - Dock中Profile

您可以通過從Dock中的Instruments應(yīng)用程序圖標(biāo)觸發(fā)Time Profiler來自動(dòng)記錄后臺中的某些事件。

To collect Time Profiler information from the Dock - 從Dock中收集Time Profiler信息

  • 1)打開Instruments歹苦,按住Control鍵并點(diǎn)按Dock中的Instruments圖標(biāo)青伤。
  • 2)在出現(xiàn)的快捷菜單中,選擇進(jìn)程配置文件開始錄制殴瘦。

選項(xiàng)包括:

  • System Time Profile - 系統(tǒng)時(shí)間分析潮模。 開始分析所有系統(tǒng)進(jìn)程。
  • Time Profile Specific Process - 時(shí)間分析特定過程痴施。 使用子菜單中的特定應(yīng)用程序啟動(dòng)Time Profiler儀器。
  • Automatically Time Profile Spinning Applications - 自動(dòng)時(shí)間輪廓旋轉(zhuǎn)應(yīng)用程序究流。 自動(dòng)配置文件阻止(旋轉(zhuǎn))的應(yīng)用程序在未來辣吃。
  • Allow Tracing of Any Process (10 hours) - 允許追蹤任何進(jìn)程(10小時(shí))。 跟蹤在接下來的10個(gè)小時(shí)內(nèi)發(fā)生的任何過程芬探。 在10個(gè)小時(shí)內(nèi)必須輸入密碼神得。

注意:以這種方式記錄的數(shù)據(jù)以.dtps格式保存到?/ Library / Application Support / Instruments / Unimported /


Profile from Xcode - 從Xcode中Profile

儀器是Xcode開發(fā)工作流程的關(guān)鍵組件偷仿,您可以在構(gòu)建和測試您的應(yīng)用程序時(shí)直接從Xcode啟動(dòng)它哩簿。

1. Profile from the build and product menus - 構(gòu)建和產(chǎn)品菜單中的配置文件

Xcode構(gòu)建菜單允許您運(yùn)行,測試和分析您的應(yīng)用程序酝静。 它還可以讓你用儀器來分析你的應(yīng)用程序节榜。

To profile your app from the Xcode build and product menus - 從Xcode構(gòu)建和產(chǎn)品菜單中分析您的應(yīng)用程序

  • 1)在Xcode中打開一個(gè)應(yīng)用程序項(xiàng)目。

  • 2)執(zhí)行以下操作之一:

  • 點(diǎn)擊并按住Xcode主窗口中的構(gòu)建菜單别智,然后從出現(xiàn)的菜單中選擇配置文件宗苍。

  • 選擇Product > Profile (or press Command-I)

儀器啟動(dòng),并出現(xiàn)分析模板選擇對話框。 請注意讳窟,您的應(yīng)用程序是在目標(biāo)設(shè)備和進(jìn)程列表中自動(dòng)選擇的让歼。

To use a default template when profiling from the Xcode build and product menus - 從Xcode構(gòu)建和產(chǎn)品菜單進(jìn)行分析時(shí)使用默認(rèn)模板

  • 1)在Xcode中打開一個(gè)應(yīng)用程序項(xiàng)目。
  • 2)執(zhí)行以下操作之一打開方案編輯器對話框:
    • 從Xcode主窗口工具欄中的目標(biāo)設(shè)備列表中選擇Edit Scheme丽啡。
  • 選擇Product > Scheme > Edit Scheme谋右,或按命令Command–Less Than (<)

  • 3)在方案編輯器對話框的邊欄中單擊配置文件补箍。

  • 4)從Instrument彈出式菜單中選擇所需的分析模板
  • 5)點(diǎn)擊關(guān)閉改执。

現(xiàn)在,無論何時(shí)profile應(yīng)用程序馏予,Instruments都會自動(dòng)在您在方案編輯器對話框中選擇的模板中打開它天梧,并開始分析。

2. Profile from Xcode gauges while debugging - 在調(diào)試過程中從Xcode gauges配置文件

Xcode調(diào)試導(dǎo)航器包含幾個(gè)測量儀霞丧,用于在測試和調(diào)試時(shí)監(jiān)視應(yīng)用程序呢岗。 這些儀表跟蹤各種因素,包括CPU使用率蛹尝,內(nèi)存和能量影響后豫,并可以提醒您潛在的問題,這些問題可能會影響性能突那,功耗等等挫酿。 如果您在測試應(yīng)用程序時(shí)發(fā)現(xiàn)想要進(jìn)一步調(diào)查的趨勢,則可以將監(jiān)視轉(zhuǎn)換到儀器以進(jìn)行更詳細(xì)的分析愕难。

To initiate profiling from an Xcode gauge - 從Xcode測量儀開始分析

  • 1)在Xcode中打開一個(gè)應(yīng)用程序項(xiàng)目并運(yùn)行它早龟。

  • 2)在您的應(yīng)用程序正在運(yùn)行時(shí),通過執(zhí)行以下操作之一來顯示調(diào)試導(dǎo)航器:

  • 單擊導(dǎo)航器選擇欄中的Debug Navigator按鈕猫缭。

  • 選擇View > Navigators > Show Debug Navigator (or press Command-6)葱弟。
  • 3)在調(diào)試導(dǎo)航器中單擊所需的量表。
  • 4)在主編輯器中單擊儀器的儀器配置文件按鈕猜丹。

請注意芝加,并非每個(gè)Xcode儀表在Instruments按鈕中都有個(gè)Profile。 例如射窒,Energy Impact測量儀包含幾個(gè)用于啟動(dòng)儀器中不同類型分析會話的按鈕藏杖。

  • 5)當(dāng)出現(xiàn)提示時(shí),選擇是否將當(dāng)前正在運(yùn)行的應(yīng)用程序?qū)嵗D(zhuǎn)移到Instruments或停止應(yīng)用程序并使用Instruments啟動(dòng)它的新實(shí)例脉顿。

在這兩種情況下蝌麸,請注意Xcode停止分析您的應(yīng)用程序,啟動(dòng)工具并啟動(dòng)分析弊予。 如果您選擇傳輸會話祥楣,Instruments將開始分析當(dāng)前狀態(tài)下的應(yīng)用程序。


Profile from the Command Line - 從命令行進(jìn)行分析

1. Profile with instruments - 使用instruments分析

使用instruments命令行工具(參見instruments(1) Mac OS X Developer Tools Manual Page),使用指定模板對應(yīng)用程序進(jìn)行分析误褪,而無需啟動(dòng)儀器责鳍。 在分析過程中收集的數(shù)據(jù)將保存在.trace文件中的指定目錄中。 分析完成后兽间,您可以使用instruments打開記錄的數(shù)據(jù)文件以查看數(shù)據(jù)的可視表示历葛。

To profile with instruments - 用儀器分析

  • 1)打開終端,在/ Applications / Utilities中嘀略。
  • 2)輸入instruments命令收集數(shù)據(jù)恤溶。

例如,以下命令使用Allocations模板對應(yīng)用程序進(jìn)行分析并將結(jié)果保存到.trace文件中的桌面帜羊。

instruments -t "Allocations" -D ~/Desktop/
.trace
  • 3)打開Instruments咒程,然后選擇File > Open
  • 4)找到您保存的.trace文件讼育,然后單擊打開帐姻。

打開保存的文件后,Instruments會自動(dòng)將相關(guān)儀器添加到跟蹤文檔中奶段,并使用收集的數(shù)據(jù)填充它們饥瓷。 您可以查看和分析數(shù)據(jù),以查找與您的應(yīng)用程序有關(guān)的任何問題痹籍。

2. instruments Options - instruments選項(xiàng)

instruments提供以下一組配置選項(xiàng)來定義要收集的數(shù)據(jù)呢铆。

配置選項(xiàng) 描述
-t template 當(dāng)分析你的app時(shí),要使用的分析模板的名字或者路徑
-s 返回所有安裝的分析模板的列表
-D document .trace文檔要保存的路徑蹲缠,如果文件已經(jīng)存在棺克,當(dāng)再次運(yùn)行時(shí),會將新記錄的數(shù)據(jù)拼接到原有數(shù)據(jù)之后
-l # 在結(jié)束之前线定,記錄總的時(shí)間逆航,以毫秒計(jì)算,如果不提供渔肩,記錄會無限期發(fā)生,直到該應(yīng)用程序被手動(dòng)終止拇惋。
-i # 要使用記錄的instrument的索引
-p pid 要記錄的app的進(jìn)程ID
application 要記錄的app的路徑
-w hardware device 要target的設(shè)備的ID
-e variable value 分析時(shí)要應(yīng)用的環(huán)境變量
argument 要傳遞給正在分析的app的命令行參數(shù)周偎,如果需要,可以指定多個(gè)參數(shù)
-v 在分析時(shí)啟用詳細(xì)日志記錄

3. Collect and view data with iprofiler - 使用iprofiler收集和查看數(shù)據(jù)

使用iprofiler命令行工具(請參閱iprofiler(1) Mac OS X Developer Tools Manual Page)來測量應(yīng)用程序的性能撑帖,而無需啟動(dòng)儀器蓉坎。收集性能數(shù)據(jù)后,將其導(dǎo)入儀器以查看數(shù)據(jù)的直觀表示胡嘿。由iprofiler收集的數(shù)據(jù)保存在一個(gè)可由Instrument打開的.dtps包中蛉艾。 iprofiler支持以下類型的分析工具:

  • Activity Monitor - 活動(dòng)監(jiān)視器。監(jiān)視整個(gè)系統(tǒng)活動(dòng)和統(tǒng)計(jì)信息,包括CPU勿侯,內(nèi)存拓瞪,磁盤和網(wǎng)絡(luò)≈觯活動(dòng)監(jiān)視器還監(jiān)視所有現(xiàn)有進(jìn)程和父/子流程層次結(jié)構(gòu)祭埂。
  • Allocations - 分配。通過跟蹤allocations來測量堆內(nèi)存使用情況兵钮,包括按類分配的特定對象allocations蛆橡。分配也可以按區(qū)域記錄虛擬內(nèi)存統(tǒng)計(jì)數(shù)據(jù)。
  • Counters - 計(jì)數(shù)器掘譬。使用基于時(shí)間或事件的采樣方法收集性能監(jiān)視器計(jì)數(shù)器事件泰演。
  • Event Profiler - 事件分析器。通過低開銷葱轩,基于事件的采樣來對系統(tǒng)CPU上運(yùn)行的進(jìn)程進(jìn)行采樣睦焕。
  • Leaks - 泄漏。測量一般內(nèi)存使用情況酿箭,檢查泄漏的內(nèi)存复亏,并提供關(guān)于對象分配的統(tǒng)計(jì)信息以及所有活動(dòng)分配和泄漏塊的內(nèi)存地址歷史記錄。
  • System Trace - 系統(tǒng)跟蹤缭嫡。提供有關(guān)系統(tǒng)行為的全面信息缔御。系統(tǒng)跟蹤顯示線程調(diào)度的時(shí)間,并通過系統(tǒng)調(diào)用或內(nèi)存操作顯示從用戶代碼到系統(tǒng)代碼的所有轉(zhuǎn)換妇蛀。
  • Time Profiler - 時(shí)間分析器耕突。對系統(tǒng)CPU上運(yùn)行的進(jìn)程執(zhí)行低開銷,基于時(shí)間的采樣评架。

To collect and view data from iprofiler - 從iprofiler中收集和查看數(shù)據(jù)

  • 1)打開終端眷茁,在/ Applications / Utilities中。
  • 2)輸入一個(gè)iprofiler命令來收集數(shù)據(jù)纵诞。

例如上祈,以下命令在您的應(yīng)用上執(zhí)行Activity Monitor跟蹤5秒鐘,并將結(jié)果保存到桌面上的.dtps文件浙芙。

iprofiler -activitymonitor -T 5s -d?/ Desktop /
  • 3)打開Instruments登刺,然后選擇File > Open
  • 4)找到你保存的.dtps文件嗡呼,點(diǎn)擊打開

打開保存的文件后纸俭,儀器會自動(dòng)將相關(guān)儀器添加到跟蹤文檔中,并使用收集的數(shù)據(jù)填充它們南窗。 您可以查看和分析數(shù)據(jù)揍很,以查找與您的應(yīng)用程序有關(guān)的任何問題郎楼。

4. iprofiler Options - iprofiler選項(xiàng)

iprofiler提供下面的配置選項(xiàng)以定義要收集的數(shù)據(jù)。

配置選項(xiàng) 描述
-l 提供所有支持的instruments 列表
-L 提供所有支持的instruments 列表窒悔,以及每種模板可以做什么的描述
-legacy 執(zhí)行/ usr / bin / instruments中的Instruments命令行接口呜袁。
-T duration 設(shè)置數(shù)據(jù)記錄的時(shí)間長度,設(shè)置持續(xù)時(shí)間以秒(ns或者n)蛉迹,毫秒(nm或nms)傅寡,微秒(nu或nus)計(jì)算,默認(rèn)是10s
-I interval 設(shè)置采樣時(shí)間內(nèi)進(jìn)行測量的頻率北救。 將間隔設(shè)置為秒(ns或n)荐操,毫秒(nm或nms)或微秒(nu或nus)。 默認(rèn)值是Instruments應(yīng)用程序的默認(rèn)采樣間隔珍策。
-window period 將性能測量限制在iprofiler運(yùn)行的最后階段托启。 將周期設(shè)置為秒(ns或n),毫秒(nm或nms)或微秒(nu或nus)攘宙。 如果未指定此選項(xiàng)屯耸,則會在整個(gè)運(yùn)行過程中測量性能。注意:此選項(xiàng)只能與-timeprofiler-systemtrace模板選項(xiàng)一起使用蹭劈。
-d path -o basename 指定保存收集數(shù)據(jù)時(shí)使用的目標(biāo)路徑和名稱疗绣。 默認(rèn)路徑是當(dāng)前工作目錄。 默認(rèn)的基本名稱是進(jìn)程名稱或進(jìn)程ID
-instrument name 指定要運(yùn)行的儀器铺韧。 有效的名稱選項(xiàng)包括-activitymonitor多矮,-allocations,-counters哈打,-eventprofiler塔逃,-leaks,-systemtrace-timeprofiler料仗。至少必須列出一個(gè)模板湾盗。 您可以一次運(yùn)行所有七個(gè)模板。
-kernelstacks 指定內(nèi)核堆棧僅用于回溯立轧。如果既沒有指定-kernelstack也沒有指定-userandkernelstacks選項(xiàng)格粪,則回溯僅包含用戶堆棧。
-userandkernelstacks backtraces指定內(nèi)核和用戶堆棧氛改。如果既沒有指定-kernelstack也沒有指定-userandkernelstacks選項(xiàng)匀借,則backtraces僅包含用戶堆棧。
-pmc PMC_MNEMONIC -counters一起使用時(shí)平窘,指定要計(jì)數(shù)的事件的助記符。 多個(gè)助記符應(yīng)該用逗號分隔凳怨。
-allthreadstates 使Time Profiler模板能夠分析所有線程瑰艘。 如果未指定此值是鬼,則Time Profiler只分析正在運(yùn)行線程。
-a process/pid 附加到已經(jīng)運(yùn)行的進(jìn)程紫新。 指定一個(gè)字符串將附加名稱以該字符串開頭的進(jìn)程均蜜。 指定進(jìn)程ID會將其附加到與該進(jìn)程ID關(guān)聯(lián)的進(jìn)程。-leaks選項(xiàng)要求您指定特定的單個(gè)進(jìn)程或進(jìn)程ID
executable [args..] 導(dǎo)致目標(biāo)進(jìn)程在測量期間啟動(dòng)芒率。 列出可執(zhí)行文件和參數(shù)囤耳,就好像它們是從命令行調(diào)用的一樣。

5. iprofiler Examples - iprofiler示例

以下是常見的iprofiler命令行示例列表偶芍。

本示例使用Time ProfilerActivity Monitor工具收集來自儀器中設(shè)置的當(dāng)前采樣持續(xù)時(shí)間的所有正在運(yùn)行的進(jìn)程的數(shù)據(jù)充择。 收集的數(shù)據(jù)以allprocs.dtps格式保存到工作目錄。

iprofiler -timeprofiler -activitymonitor

以下示例使用Time Profiler工具打開并收集YourApp中的數(shù)據(jù)匪蟀。 數(shù)據(jù)收集8秒鐘椎麦,數(shù)據(jù)保存在/temp/YourApp_perf.dtps

iprofiler -T 8s -d /temp -o YourApp_perf -timeprofiler -a YourApp

以下示例使用LeaksActivity Monitor工具從具有823進(jìn)程ID的進(jìn)程收集數(shù)據(jù)材彪。 數(shù)據(jù)收集2500毫秒(2.5秒)并以YourApp_perf.dtps保存到工作目錄观挎。

iprofiler -T 2500ms -o YourApp_perf -leaks -activitymonitor -a 823

以下示例使用Time ProfilerAllocations工具打開并收集YourApp中的數(shù)據(jù)。 數(shù)據(jù)按照在Instruments中設(shè)置的默認(rèn)時(shí)間收集并保存在/tmp/allprocs.dtps中段化。

iprofiler -d / tmp -timeprofiler -allocations -a YourApp.app

以下示例使用Time ProfilerSystem Trace工具打開和收集/path/to中帶有參數(shù)arg1YourApp中的數(shù)據(jù)嘁捷。 數(shù)據(jù)收集15秒,但只保存最近2秒內(nèi)收集的數(shù)據(jù)显熏。 數(shù)據(jù)以YourApp_perf.dtps的形式保存到工作目錄雄嚣。

iprofiler -T 15 -I 1000ms -window 2s -o YourApp_perf -timeprofiler -systemtrace /path/to/Your.app arg1

Minimize Instruments Impact on Data Collection - 最小化儀器對數(shù)據(jù)采集的影響

Instruments旨在最大限度地減少其對數(shù)據(jù)收集的影響。 但是佃延,通過改變一些基本設(shè)置现诀,您可以進(jìn)一步降低儀器對數(shù)據(jù)收集的影響。

您可以減小i許多儀器的采樣間隔履肃,以便收集更多數(shù)據(jù)仔沿。 但是,由于采樣間隔較短而導(dǎo)致的高采樣率可能會導(dǎo)致幾個(gè)問題:

  • Processor time is required for every sample - 每個(gè)樣品需要處理器時(shí)間尺棋。 高采樣率使用更多的處理器時(shí)間封锉。
  • Sample interval timing may not be consistent - 采樣間隔時(shí)間可能不一致。 中斷用于啟動(dòng)每個(gè)采樣膘螟。 使用非常小的采樣間隔時(shí)成福,發(fā)生這些中斷時(shí)的變化可能會導(dǎo)致采樣率的顯著變化。
  • Small sample intervals cause more samples to be taken - 小的采樣間隔會導(dǎo)致采集更多的采樣荆残。 每個(gè)樣本使用系統(tǒng)內(nèi)存奴艾,并且大量樣本快速占用內(nèi)存較少的機(jī)器上的可用內(nèi)存。

1. Run Instruments in Deferred Mode - 以延遲模式運(yùn)行儀器

通過延遲數(shù)據(jù)分析來提高性能相關(guān)數(shù)據(jù)的準(zhǔn)確性内斯,直到您退出正在測試的應(yīng)用程序蕴潦。通常像啼,儀器會在您的應(yīng)用運(yùn)行時(shí)分析和顯示數(shù)據(jù),以便您在收集數(shù)據(jù)時(shí)查看數(shù)據(jù)潭苞。執(zhí)行分析時(shí)忽冻,會通過占用CPU時(shí)間和內(nèi)存來降低目標(biāo)進(jìn)程速度,這會給您留下可能無法反映進(jìn)程通常情況下的行為的測量結(jié)果此疹。在延遲模式下運(yùn)行儀器會延遲數(shù)據(jù)分析僧诚,直到數(shù)據(jù)收集完成,無論是在您的應(yīng)用程序運(yùn)行完畢后還是在您單擊停止后蝗碎。在延遲模式下湖笨,您被阻止與正在收集數(shù)據(jù)的儀器進(jìn)行交互。

在延期模式下衍菱,儀器完成數(shù)據(jù)收集后赶么,儀器會處理數(shù)據(jù)并將其顯示在屏幕上。推遲數(shù)據(jù)分析為數(shù)據(jù)收集過程的后期階段增加了時(shí)間脊串,但它有助于確保與性能相關(guān)的數(shù)據(jù)的準(zhǔn)確性辫呻。

To set deferred mode for Instruments - 為儀器設(shè)置延遲模式

  • 1)選擇Instruments > Preferences
  • 2)在Recording窗格中琼锋,選中Always use deferred mode復(fù)選框

對于特別長的跟蹤放闺,由延遲模式引起的延遲可能很大。 通過為僅需要非常精確的數(shù)據(jù)收集的跟蹤設(shè)置延遲模式來避免這種延遲缕坎。

To set deferred mode for a trace - 為跟蹤設(shè)置延遲模式

  • 1)選擇File > Record Options怖侦。
  • 2)在出現(xiàn)的對話框中,選擇延遲模式復(fù)選框谜叹,然后單擊確定匾寝。

如果在Instruments偏好設(shè)置中啟用了Always use deferred mode,則此選項(xiàng)將被禁用荷腊。

后記

本篇主要介紹了記錄艳悔、暫停和停止跟蹤感興趣的給個(gè)贊或者關(guān)注~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市女仰,隨后出現(xiàn)的幾起案子猜年,更是在濱河造成了極大的恐慌,老刑警劉巖疾忍,帶你破解...
    沈念sama閱讀 217,185評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乔外,死亡現(xiàn)場離奇詭異,居然都是意外死亡一罩,警方通過查閱死者的電腦和手機(jī)杨幼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,652評論 3 393
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人差购,你說我怎么就攤上這事补疑。” “怎么了歹撒?”我有些...
    開封第一講書人閱讀 163,524評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長诊胞。 經(jīng)常有香客問我暖夭,道長,這世上最難降的妖魔是什么撵孤? 我笑而不...
    開封第一講書人閱讀 58,339評論 1 293
  • 正文 為了忘掉前任迈着,我火速辦了婚禮,結(jié)果婚禮上邪码,老公的妹妹穿的比我還像新娘裕菠。我一直安慰自己,他們只是感情好闭专,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,387評論 6 391
  • 文/花漫 我一把揭開白布奴潘。 她就那樣靜靜地躺著,像睡著了一般影钉。 火紅的嫁衣襯著肌膚如雪画髓。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,287評論 1 301
  • 那天平委,我揣著相機(jī)與錄音奈虾,去河邊找鬼。 笑死廉赔,一個(gè)胖子當(dāng)著我的面吹牛肉微,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播蜡塌,決...
    沈念sama閱讀 40,130評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼碉纳,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了岗照?” 一聲冷哼從身側(cè)響起村象,我...
    開封第一講書人閱讀 38,985評論 0 275
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎攒至,沒想到半個(gè)月后厚者,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,420評論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡迫吐,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,617評論 3 334
  • 正文 我和宋清朗相戀三年库菲,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片志膀。...
    茶點(diǎn)故事閱讀 39,779評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡熙宇,死狀恐怖鳖擒,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情烫止,我是刑警寧澤蒋荚,帶...
    沈念sama閱讀 35,477評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站馆蠕,受9級特大地震影響期升,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜互躬,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,088評論 3 328
  • 文/蒙蒙 一播赁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧吼渡,春花似錦容为、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,716評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至房维,卻和暖如春沼瘫,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咙俩。 一陣腳步聲響...
    開封第一講書人閱讀 32,857評論 1 269
  • 我被黑心中介騙來泰國打工耿戚, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人阿趁。 一個(gè)月前我還...
    沈念sama閱讀 47,876評論 2 370
  • 正文 我出身青樓膜蛔,卻偏偏與公主長得像,于是被迫代替她去往敵國和親脖阵。 傳聞我的和親對象是個(gè)殘疾皇子皂股,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,700評論 2 354

推薦閱讀更多精彩內(nèi)容