版本記錄
版本號(hào) | 時(shí)間 |
---|---|
V1.0 | 2018.06.17 |
前言
我們?cè)谧鯽pp的時(shí)候舶替,不是做完功能就結(jié)束了鸡典,很多時(shí)候是需要進(jìn)行檢查和優(yōu)化的芳悲,而xcode自帶了一個(gè)很好的檢查工具,可以檢測(cè)內(nèi)存泄漏馏臭。還可以查看哪一個(gè)方法比較耗時(shí)野蝇。還可以檢測(cè)離屏渲染等等,隨后的幾篇我們就說一下這個(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è)別儀器(五)
17. INSTRUMENTS調(diào)試工具的使用(十七) —— 通常任務(wù)之記錄、暫停和停止跟蹤(六)
18. INSTRUMENTS調(diào)試工具的使用(十八) —— 導(dǎo)航收集的數(shù)據(jù)之關(guān)于數(shù)據(jù)分析(一)
19. INSTRUMENTS調(diào)試工具的使用(十九) —— 導(dǎo)航收集的數(shù)據(jù)之導(dǎo)航時(shí)間軸窗格(二)
20. INSTRUMENTS調(diào)試工具的使用(二十) —— 導(dǎo)航收集的數(shù)據(jù)之導(dǎo)航詳細(xì)面板(三)
21. INSTRUMENTS調(diào)試工具的使用(二十一) —— 導(dǎo)航收集的數(shù)據(jù)之將數(shù)據(jù)映射到源代碼(四)
22. INSTRUMENTS調(diào)試工具的使用(二十二) —— 導(dǎo)航收集的數(shù)據(jù)之查看您應(yīng)用的源代碼(五)
23. INSTRUMENTS調(diào)試工具的使用(二十三) —— 分析你App的性能之測(cè)量CPU使用情況(一)
24. INSTRUMENTS調(diào)試工具的使用(二十四) —— 分析你App的性能之測(cè)量圖形性能(二)
25. INSTRUMENTS調(diào)試工具的使用(二十五) —— 分析你App的性能之監(jiān)視網(wǎng)絡(luò)和文件I / O(三)
26. INSTRUMENTS調(diào)試工具的使用(二十六) —— 分析你App的內(nèi)存使用之關(guān)于內(nèi)存分析(一)
27. INSTRUMENTS調(diào)試工具的使用(二十七) —— 分析你App的內(nèi)存使用之檢測(cè)內(nèi)存使用(二)
28. INSTRUMENTS調(diào)試工具的使用(二十八) —— 分析你App的內(nèi)存使用之找到廢棄的內(nèi)存(三)
29. INSTRUMENTS調(diào)試工具的使用(二十九) —— 分析你App的內(nèi)存使用之找到內(nèi)存泄露(四)
30. INSTRUMENTS調(diào)試工具的使用(三十) —— 分析你App的內(nèi)存使用之找到僵尸對(duì)象(五)
31. INSTRUMENTS調(diào)試工具的使用(三十一) —— 分析你App的能源之測(cè)量能源影響(一)
32. INSTRUMENTS調(diào)試工具的使用(三十二) —— 高級(jí)任務(wù)之導(dǎo)出和導(dǎo)入跟蹤數(shù)據(jù)(一)
33. INSTRUMENTS調(diào)試工具的使用(三十三) —— 高級(jí)任務(wù)之創(chuàng)建自定義Instruments(二)
34. INSTRUMENTS調(diào)試工具的使用(三十四) —— 分析模板和工具之分析模板(一)
35. INSTRUMENTS調(diào)試工具的使用(三十五) —— 分析模板和工具之Activity Monitor工具(二)
Overview
Instrument Description |
Supported Platforms |
Related Profiling Templates |
---|---|---|
Allocations 工具捕獲有關(guān)應(yīng)用程序內(nèi)存分配的信息乍狐。 它僅記錄來自單個(gè)進(jìn)程的信息赠摇。 |
iOS、OSX | Allocations Profiling Template澜躺、Leaks Profiling Template蝉稳、Zombies Profiling Template |
Timeline Pane - 時(shí)間線面板
時(shí)間軸窗格顯示基于儀器配置的信息。
Record Settings - 記錄設(shè)置
單擊檢查器窗格中的記錄設(shè)置按鈕以自定義以下記錄選項(xiàng)掘鄙。
1. Launch Configuration for All Allocations - 啟動(dòng)所有Allocations的配置
以下Launch Configuration for All Allocations
記錄設(shè)置都可用。
Setting | Description |
---|---|
停止時(shí)丟棄未記錄的數(shù)據(jù) | 一旦停止點(diǎn)擊嗡髓,放棄所有收集但尚未由Allocations工具處理的數(shù)據(jù)操漠。 自動(dòng)為Allocations ,Leaks 和Zombies 分析模板選擇 |
放棄釋放內(nèi)存的事件 | 放棄已釋放內(nèi)存的任何事件饿这。 |
只跟蹤VM分配 | 僅跟蹤在VM中收集的VM allocations 浊伙。 |
2. Launch Configuration for Heap Allocations - 啟動(dòng)Heap Allocations配置
以下用于堆分配的啟動(dòng)配置記錄設(shè)置可用。
Setting | Description |
---|---|
記錄參考計(jì)數(shù) | 跟蹤每個(gè)對(duì)象的引用計(jì)數(shù)长捧。 自動(dòng)為Leaks and Zombies 分析模板選擇嚣鄙。 |
識(shí)別C++對(duì)象 | 識(shí)別任何找到的C++對(duì)象 |
啟用NSZombie 檢查 |
選擇在檢測(cè)到僵尸時(shí)顯示消息。 僅自動(dòng)為僵尸分析模板選擇串结。 |
3. Recorded Types - 記錄類型
啟用要記錄的對(duì)象類型哑子。 您可以通過單擊表格下方的加號(hào)(+)和減號(hào)( - )來創(chuàng)建和刪除新規(guī)則。 初始選項(xiàng)及其配置包括以下內(nèi)容肌割。
Setting | Description |
---|---|
* | 記錄錄制所有類型:記錄所有類型對(duì)象 |
NS | 配置忽略NS前綴的類型:不記錄NS對(duì)象的信息 |
CF | 配置忽略CF前綴的類型:不記錄CF對(duì)象的信息 |
Malloc | 配置忽略Malloc前綴的類型:不記錄Mallo事件的信息 |
Display Settings - 顯示設(shè)置
單擊檢查器窗格中的顯示設(shè)置按鈕以自定義以下顯示設(shè)置卧蜓。
1. Track Display Settings - 跟蹤顯示設(shè)置
這些設(shè)置控制信息在時(shí)間線窗格中的顯示方式。
Setting | Description | Options |
---|---|---|
Style | 信息是如何展示的 | 1)當(dāng)前字節(jié)數(shù):當(dāng)前分配給進(jìn)程的字節(jié)數(shù)把敞。2)Allocation 密度:每毫秒的分配數(shù)量弥奸。3)Active Allocation Distribution :當(dāng)前分配的內(nèi)存量。 |
2. Generation Analysis - 代分析
允許你在詳細(xì)窗格中標(biāo)記generations
奋早。
3. Allocation Lifespan - Allocation生命周期
以下allocation壽命顯示將根據(jù)其生命周期在詳細(xì)信息窗格中篩選分配盛霎。
Setting | Description |
---|---|
All Allocations |
顯示在選定時(shí)間范圍內(nèi)創(chuàng)建的所有allocations。 |
Created & Persistent |
顯示在選定時(shí)間范圍內(nèi)創(chuàng)建的allocations 耽装,并且在分配結(jié)束時(shí)仍然存在愤炸。 |
Created & Destroyed |
顯示在選定時(shí)間范圍內(nèi)創(chuàng)建和銷毀的分配。 |
4. Allocation Type - Allocation類型
以下分配類型顯示設(shè)置根據(jù)其類型過濾詳細(xì)信息窗格中的分配剂邮。
Setting | Description |
---|---|
All Heap & Anonymous VM |
顯示所有malloc堆分配和感興趣的虛擬機(jī)區(qū)域摇幻,如圖形和Core Data 相關(guān)。 隱藏映射文件,dylib和一些大的保留虛擬機(jī)區(qū)域绰姻。 |
All Heap Allocations |
顯示所有malloc堆分配但不包含VM區(qū)域枉侧。 |
All VM Regions |
顯示所有VM區(qū)域,包括映射文件狂芋,dylib和包含malloc堆的VM區(qū)域 |
5. Call Tree - 調(diào)用樹
下面的調(diào)用樹在詳細(xì)窗格中展示設(shè)置過濾調(diào)用樹榨馁。
Setting | Description | |
---|---|---|
Separate by Category |
Off by default |
|
Separate by Thread |
Off by default |
|
Invert Call Tree |
`Off by default | ` |
Hide System Libraries |
Off by default |
|
Flatten Recursion |
Off by default |
6. Call Tree Constraint - 調(diào)用樹限制
根據(jù)以下設(shè)置,以下選項(xiàng)可過濾調(diào)用樹以顯示屬于特定閾值的調(diào)用帜矾。
Setting | State |
---|---|
Count |
Off by default |
Bytes |
Off by default |
7. Data Mining - 數(shù)據(jù)挖掘
允許您通過收集的數(shù)據(jù)篩選特定的符號(hào)和庫翼虫。
Detail Pane Columns - 詳細(xì)信息窗格列
1. Statistics Detail Type - 統(tǒng)計(jì)明細(xì)類型
詳細(xì)信息窗格中提供以下統(tǒng)計(jì)信息列。
列名稱 | 定義 |
---|---|
Graph |
在跟蹤窗格中選擇展示category |
Category |
通常一個(gè)Core Foundation對(duì)象屡萤,一個(gè)Objective-C對(duì)象珍剑,或者一個(gè)原始的內(nèi)存塊。 |
Bytes |
在給定的時(shí)間范圍內(nèi)死陆,總分配的字節(jié)數(shù)的改變 |
Count |
在給定的時(shí)間范圍內(nèi)招拙,總分配數(shù)的改變 |
Persistent Bytes |
在給定的時(shí)間范圍內(nèi),已分配但是沒有釋放的字節(jié)數(shù) |
# Persistent |
在給定的時(shí)間范圍內(nèi)措译,已分配但是沒有釋放的字節(jié)數(shù) |
Transient Bytes |
在選定時(shí)間區(qū)間别凤,創(chuàng)建和銷毀字節(jié)數(shù) |
# Transient |
在選定時(shí)間區(qū)間,創(chuàng)建和銷毀分配數(shù) |
Total Bytes |
在選定時(shí)間區(qū)間领虹,存在的總的字節(jié)數(shù) |
# Total |
在選定時(shí)間區(qū)間规哪,存在的總的分配數(shù) |
# Events |
在選定時(shí)間區(qū)間,各種類型事件的總數(shù) |
Transient/Total Bytes |
一種直方圖塌衰,表示與字節(jié)總數(shù)相關(guān)的暫態(tài)字節(jié)數(shù)诉稍。 |
2. Call Tree Detail Type - 調(diào)用樹詳細(xì)類型
下面的調(diào)用樹列在詳細(xì)窗格中顯示。
Column name | Definition |
---|---|
Bytes Used |
由相應(yīng)符號(hào)使用的字節(jié)數(shù) |
Count |
符號(hào)使用的次數(shù) |
Self Bytes |
調(diào)用自己使用的字節(jié)數(shù) |
Self % |
調(diào)用自己使用字節(jié)數(shù)的百分比 |
Parent % |
調(diào)用父使用字節(jié)數(shù)的百分比 |
Source Path |
產(chǎn)生調(diào)用的源文件路徑 |
Category |
表示調(diào)用類別的圖標(biāo) |
Library |
產(chǎn)生調(diào)用的庫名稱 |
Symbol Name |
被調(diào)用符號(hào)的名字 |
3. Allocations List Detail Type - Allocations列表詳細(xì)類型
下面allocations列表列顯示在詳細(xì)窗格中猾蒂。
Column name | Definition |
---|---|
# |
分配數(shù)目 |
Address |
內(nèi)存塊的地址 |
Category |
對(duì)象類型 |
Identifier |
對(duì)象的標(biāo)識(shí) |
Timestamp |
事件發(fā)生的時(shí)間 |
Live |
表示當(dāng)前對(duì)象是否為活動(dòng)對(duì)象 |
Size |
內(nèi)存塊的大小 |
Responsible Library |
負(fù)責(zé)分配塊的庫 |
Responsible Caller |
導(dǎo)致分配事件的函數(shù) |
4. Generations Detail Type - Generations詳細(xì)類型
下面generations
列出現(xiàn)在詳細(xì)窗格中均唉。
Column name | Definition |
---|---|
Snapshot |
Snapshot 的名稱 |
Timestamp |
時(shí)間發(fā)生的時(shí)間 |
Heap Growth |
自從上次Snapshot的增長量 |
# Persistent |
仍然存在的對(duì)象數(shù) |
后記
本篇主要講述了Allocations工具,感興趣的給個(gè)贊或者關(guān)注~~~~