你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> iOS圖解Leaks工具使用

iOS圖解Leaks工具使用

編輯:IOS開發綜合

對於Leaks工具而言,只是為了幫助開發者能更好的開發出一款穩定性能的APP。僅僅是一個檢測的工具,具體為什麼在ARC下很多開發者還是會造成如此多的內存洩露,這裡不做評判。下面圖解一下Instruments中Leaks該如何檢測我們的內存問題,希望能幫助提高新人開發者的代碼質量。

這裡我隨意創建一個工程,書寫了一段兩個Array對象循環引用導致的內存洩露,我們通過工具來檢測一下

- (void)viewDidLoad {
    [super viewDidLoad];

    NSMutableArray *arr1 = @[@"1", @"2"].mutableCopy;
    NSMutableArray *arr2 = @[@"23", @4].mutableCopy;

    [arr1 addObject:arr2];
    [arr2 addObject:arr1];

}

運行你的程序,點擊程序內存使用情況如下圖:

這裡寫圖片描述

點擊 Profile in Instruments 按鈕,彈出如下提示

這裡寫圖片描述

點擊 Restart 重新開始,則Leaks會自動啟動如下

這裡寫圖片描述

到這裡Leaks就開始檢測了,如果檢測到內存洩露就會紅X提示

這裡寫圖片描述

選擇Call Tree,再隱藏掉系統庫,如果檢測到洩露,我們可以立即暫停檢測來修復

這裡寫圖片描述

當然,也可以檢測一段時間後暫停,然後通過以下方式來定位某個洩露區域的代碼實現

這裡寫圖片描述

這裡寫圖片描述

這裡寫圖片描述

雙擊進入到洩露的代碼位置,我們可以通過一系列的設置達到自己想查看的效果

這裡寫圖片描述

點擊圖中的Xcode圖標可以直接定位的此類的代碼位置,便於我們修改

這裡寫圖片描述

到這裡我們只檢測出了洩露的代碼,具體如何修改,我們還得有一定的MRC基礎才可以,我們必須了解內存管理的原則及原理。

假設我們修改好此處的內存洩露問題,我們就可以重新運行檢測了

這裡寫圖片描述

這裡寫圖片描述

當然,如果你不知道問題的原因,你也可以保存下你的檢測過程,請教您旁邊的大神同事

這裡寫圖片描述

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved