Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 螢幕快照 2016-03-24 11.45.28.png
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 螢幕快照 2016-03-24 11.21.54.png
點選後顯示如圖,然後點選上面的
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey A794C733-3CBE-419B-93E9-292F139CDFD2.png
a、點選1檢視左測,進行定位
b、點選2進行準确定位
c、檢視錯誤洩露原因
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 螢幕快照 2016-03-24 11.42.59.png
選擇工具,點選圖中的Profile或快捷鍵:
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey E41F6D4C-30DC-40B3-B9CA-D0C8E97CD2C3.png
command+i
彈出Instruments工具箱,選擇Leaks
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 螢幕快照 2016-03-24 11.45.14.png
顯示如圖,并按下鍵盤:command+R 運作app,此時手動操作app檢視記憶體洩露
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 93A23670-BA58-4DFE-B7FB-5EAB7077CA69.png
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 4D5B7953-EFBA-49B6-9D05-C223452CBB78.png
當操作app過程中,發現有紅的小叉,就說明有記憶體洩露,接下來的目的就是找到洩露位置并修複
a、點選1處按鈕,暫停檢測,
b、點選2轉到leaks下(此步驟感覺可有可無)
c、将滑鼠放到3處可檢視洩露個數
d、将1的選框選為Call Tree
e、将右側2的選擇調至中間
f、對Call Tree進行限制,将3打上勾
g、看4如果後面有箭頭則展開,直到出現類似5的(後面沒箭頭),然後輕按兩下5,它就會跳到記憶體洩露處,修複即可
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 螢幕快照 2016-03-24 13.01.35.png
a、調出Instruments工具操作同Leaks,不做複述,然後選擇 Time Profiler,彈出界面,然後使用快捷鍵command+R,啟動 Time Profiler 和 app,并操作app,檢視執行時間
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 雖然代碼沒什麼可優化的地方,但大家應該認識到緩存能發揮的作用。對于經常通路的頁面,多數情況下把圖檔緩存下來,還是能省些資源占用。
Separate by Thread:按線程分開做分析,這樣更容易揪出那些吃資源的問題線程。特别是對于主線程,它要處理和渲染所有的接口資料,一旦受到阻塞,程式必然卡頓或停止響應。
Invert Call Tree:反向輸出調用樹。把調用層級最深的方法顯示在最上面,更容易找到最耗時的操作。
Hide System Libraries:隐藏系統庫檔案。過濾掉各種系統調用,隻顯示自己的代碼調用。
Flattern Recursion:拼合遞歸。将同一遞歸函數産生的多條堆棧(因為遞歸函數會調用自己)合并為一條。
Top Functions:找到最耗時的函數或方法。
b、個人感覺選兩個就夠啦,有選前四個的,可能更全面,有需要的自己打上勾就ok拉
c、選擇其中一個輕按兩下,就會跳轉到對應的代碼頁,如圖
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 螢幕快照 2016-03-24 16.40.21.png
a、調出Instruments工具操作同Leaks,不做複述,然後選擇 Allocations,彈出界面,然後使用快捷鍵command+R,啟動 Allocations 和 app,并操作app,檢視某個方法所占用的記憶體,然後輕按兩下進入詳情,這裡不做複述
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 559C0051-62A6-4D87-B24E-1B3FF2A572DB.png
a、調出Instruments工具操作同Leaks,不做複述,然後選擇 Automation,彈出界面
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 61D49467-5391-4643-8ABB-4FB26A0DD889.png
如圖所标:
1為腳本區,2為控制區
b、此時應該先錄制操作腳本,點選2,同時它會自動為你運作app,你隻需要打開你的模拟器,然後操作app,腳本會自動記錄下你的操作步驟,
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 螢幕快照 2016-03-24 17.18.19.png
c、進行相關設定,設定好以後點選左上角開始運作腳本
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey 5363DE25-29E1-4E11-A587-4B434204D2C3.png
d、檢視操作,說明如下
Xcode裡的Instruments工具:Leaks、Allocations、Time Profiler、Automation一、Leaks: 記憶體洩露檢測工具二、 Time Profiler:分析代碼的執行時間,找出導緻程式變慢的原因三、 Allocations:監測記憶體使用/配置設定情況四、 Automation:自動化測試,類似于Android的Monkey B4DE3291-CB70-4DA0-A646-31DE7B118017.png
1處是腳本運作和開關
2處可以檢視運作狀态,輕按兩下可在腳本與記錄之間切換,如果操作出錯,此處會變黃,輕按兩下即可找到錯誤操作處
3處為記錄檔或記錄
本文轉自ljianbing51CTO部落格,原文連結:http://blog.51cto.com/ljianbing/1865148 ,如需轉載請自行聯系原作者