Instruments作為Xcode内置工具,是官方提供的一個非常強大的性能調試工具。我們可以用它來收集關于一個或者多個系統程序的性能和行為的資料,并跟随時間産生資料。通過Instruments我們可以完成定位記憶體問題、檢測I/O活動、檢測圖像性能、檢測CPU使用狀況、自動化測試等工作。
啟動Instruments
Instrument的打開方式有很多種,下面為大家介紹便捷的四種啟動方式。
1.滑鼠左鍵長按Xcode運作按鈕,彈出選擇清單,選擇Profile即可啟動Instruments。
2.通過Xcode -> Product -> Profile啟動
3.Xocde -> Open Developer Tool -> Intsruments
4.右擊Dock上的Xcode圖示 -> Open Developer Tool -> Intsruments
我們還可以通過設定,将Instruments放在Dock上或者Finder中:右擊Instruments圖示 -> 選項 -> 在Dock中保留/在Finder中顯示
Instruments為我們提供了17個子產品以幫助我們優化App
1.Blank(空白模闆):建立一個空的模闆,可以從Library庫中添加其他模闆
2.Activity Monitor(活動螢幕):監控程序的CPU、記憶體、磁盤、網絡使用情況。是程式在手機
運作真正占用記憶體大小
3.Allocations(記憶體配置設定):跟蹤過程的匿名虛拟記憶體和堆的對象提供類名和可選保留/釋放曆史
4.Cocoa layout:觀察NSLayoutConstraint對象的改變,幫助我們判斷什麼時間、什麼地點的constraint
是否合理
5.Core Animation(圖形性能):顯示程式顯示卡能行以及CPU使用情況
6.Core Data:跟蹤Core Data檔案系統活動
7.Counters:收集使用時間或基于事件的抽樣方法的性能監控計數器(PMC)事件?
8.Energy Log:耗電量監控
9.File Activity:檢測檔案建立、移動、變化、删除等
10.Leaks(洩漏):一般的措施記憶體使用情況,檢查洩漏的記憶體,并提供了所有活動的配置設定和洩漏子產品
的類對象配置設定統計資訊以及記憶體位址曆史記錄
11.Metal System Trace:Metal API 是蘋果公司2014年推出的高效底層的3D圖形API。它通過減少驅動層API
調用CPU的消耗,提高渲染效率
12.Network:用連結工具分析你的程式如何使用TCP/IP和UDP/IP連結
13.SceneKit:描述應用程式對SceneKit的使用。确定進入每個幀的工作類型,例如動畫,實體,場景剔除和渲染
14.System Trace:系統跟蹤,通過顯示目前被排程線程提供綜合的系統表現,顯示從使用者到系統的轉換,代碼通過兩個系統調用或記憶體操作
15.System Usage:記錄關于檔案讀寫,sockets,I/O系統活動,輸入輸出
16.Time Profiler(時間探查):執行對系統的CPU上運作的程序低負載時間為基礎采樣
17.Zombies:測量一般的記憶體使用,專注于檢測過度釋放的野指針對象。也提供對象配置設定統計以及主動配置設定的記憶體位址曆史
其中我們經常用到的是:Leaks,Zombies,Core Animation,Time Profiler,Cocoa Layout,Energy Log,Network。
今天就介紹到這裡,在以後的推送中會繼續介紹具體子產品的使用。