INSTRUMENTS調(diào)試工具的使用(三十六) —— 分析模板和工具之Allocations工具(三)

版本記錄

版本號(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)為AllocationsLeaksZombies分析模板選擇
放棄釋放內(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)注~~~~

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末肚菠,一起剝皮案震驚了整個(gè)濱河市舔箭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌蚊逢,老刑警劉巖层扶,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異烙荷,居然都是意外死亡镜会,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門终抽,熙熙樓的掌柜王于貴愁眉苦臉地迎上來戳表,“玉大人桶至,你說我怎么就攤上這事∝倚瘢” “怎么了镣屹?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長价涝。 經(jīng)常有香客問我女蜈,道長,這世上最難降的妖魔是什么色瘩? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任伪窖,我火速辦了婚禮,結(jié)果婚禮上居兆,老公的妹妹穿的比我還像新娘覆山。我一直安慰自己,他們只是感情好史辙,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布汹买。 她就那樣靜靜地躺著,像睡著了一般聊倔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上生巡,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天耙蔑,我揣著相機(jī)與錄音,去河邊找鬼孤荣。 笑死甸陌,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的盐股。 我是一名探鬼主播钱豁,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼疯汁!你這毒婦竟也來了垃杖?” 一聲冷哼從身側(cè)響起半火,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后宛渐,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡烦粒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年蜡秽,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片漩仙。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡搓茬,死狀恐怖犹赖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情卷仑,我是刑警寧澤峻村,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站系枪,受9級(jí)特大地震影響雀哨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜私爷,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一雾棺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧衬浑,春花似錦捌浩、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至助币,卻和暖如春浪听,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背眉菱。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工迹栓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人俭缓。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓克伊,卻偏偏與公主長得像,于是被迫代替她去往敵國和親华坦。 傳聞我的和親對(duì)象是個(gè)殘疾皇子愿吹,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

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