Instruments作為Xcode內(nèi)置工具,是官方提供的一個非常強大的性能調(diào)試工具。我們可以用它來收集關(guān)于一個或者多個系統(tǒng)進程的性能和行為的數(shù)據(jù),并跟隨時間產(chǎn)生數(shù)據(jù)。通過Instruments我們可以完成定位內(nèi)存問題、檢測I/O活動、檢測圖像性能、檢測CPU使用狀況、自動化測試等工作。
啟動Instruments
Instrument的打開方式有很多種,下面為大家介紹便捷的四種啟動方式。
1.鼠標(biāo)左鍵長按Xcode運行按鈕,彈出選擇列表,選擇Profile即可啟動Instruments。
2.通過Xcode -> Product -> Profile啟動
3.Xocde -> Open Developer Tool -> Intsruments
4.右擊Dock上的Xcode圖標(biāo) -> Open Developer Tool -> Intsruments
我們還可以通過設(shè)置,將Instruments放在Dock上或者Finder中:右擊Instruments圖標(biāo) -> 選項 -> 在Dock中保留/在Finder中顯示
Instruments為我們提供了17個模塊以幫助我們優(yōu)化App
1.Blank(空白模板):創(chuàng)建一個空的模板,可以從Library庫中添加其他模板
2.Activity Monitor(活動監(jiān)視器):監(jiān)控進程的CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)使用情況。是程序在手機
運行真正占用內(nèi)存大小
3.Allocations(內(nèi)存分配):跟蹤過程的匿名虛擬內(nèi)存和堆的對象提供類名和可選保留/釋放歷史
4.Cocoa layout:觀察NSLayoutConstraint對象的改變,幫助我們判斷什么時間、什么地點的constraint
是否合理
5.Core Animation(圖形性能):顯示程序顯卡能行以及CPU使用情況
6.Core Data:跟蹤Core Data文件系統(tǒng)活動
7.Counters:收集使用時間或基于事件的抽樣方法的性能監(jiān)控計數(shù)器(PMC)事件?
8.Energy Log:耗電量監(jiān)控
9.File Activity:檢測文件創(chuàng)建、移動、變化、刪除等
10.Leaks(泄漏):一般的措施內(nèi)存使用情況,檢查泄漏的內(nèi)存,并提供了所有活動的分配和泄漏模塊
的類對象分配統(tǒng)計信息以及內(nèi)存地址歷史記錄
11.Metal System Trace:Metal API 是蘋果公司2014年推出的高效底層的3D圖形API。它通過減少驅(qū)動層API
調(diào)用CPU的消耗,提高渲染效率
12.Network:用鏈接工具分析你的程序如何使用TCP/IP和UDP/IP鏈接
13.SceneKit:描述應(yīng)用程序?qū)ceneKit的使用。確定進入每個幀的工作類型,例如動畫,物理,場景剔除和渲染
14.System Trace:系統(tǒng)跟蹤,通過顯示當(dāng)前被調(diào)度線程提供綜合的系統(tǒng)表現(xiàn),顯示從用戶到系統(tǒng)的轉(zhuǎn)換,代碼通過兩個系統(tǒng)調(diào)用或內(nèi)存操作
15.System Usage:記錄關(guān)于文件讀寫,sockets,I/O系統(tǒng)活動,輸入輸出
16.Time Profiler(時間探查):執(zhí)行對系統(tǒng)的CPU上運行的進程低負(fù)載時間為基礎(chǔ)采樣
17.Zombies:測量一般的內(nèi)存使用,專注于檢測過度釋放的野指針對象。也提供對象分配統(tǒng)計以及主動分配的內(nèi)存地址歷史
其中我們經(jīng)常用到的是:Leaks,Zombies,Core Animation,Time Profiler,Cocoa Layout,Energy Log,Network。
今天就介紹到這里,在以后的推送中會繼續(xù)介紹具體模塊的使用。
更多技術(shù)文章敬請掃碼關(guān)注
