使用Analyze 和Instruments-Leaks分析解決iOS內存泄露


 

版權聲明:本文為博主原創文章,未經博主允許不得轉載。

使用Analyze和Instruments-Leaks分析解決iOS內存泄露

 
實驗的開發環境:Xcode 7
 

一、使用Product-Analyze分析內存泄( 快捷鍵: cmd + shift + B )

APP程序開發完成后,可以利用Xcode的Analyze就能分析到哪里有內存泄露。

分析之后可以看到:

這里提示model沒被釋放,有內存泄露,那我們釋放

    [model  release];

再Analyze分析,顯示Build succeeded,不存在任何內存泄露,表明這個問題解決了。 

 

二、使用Instruments的leaks工具分析內存泄露( 快捷鍵: cmd + ctrl + I )

利用Product-Analyze分析內存泄露,並不能把所有的內存泄露查出來,因為有的內存泄露是在運行時,用戶操作時才產生的。那就需要用到Instruments了。

1.

Xcode打開一個已完成項目,選好模擬器,點擊Run,讓程序跑起來。

 

2.

點擊Xcode菜單欄 Product -- Profile ( 快捷鍵: cmd + ctrl + I )。

 
 
3.
按上面操作,顯示Build succeeded后,會跳出Instruments工具,選擇Leaks(水龍頭)選項。
 
4.
先按下紅色的圓形按鈕,再選擇Leak,然后選擇Call Tree,勾選選中Invert Call Tree 和Hide System Libraries。
 
 
5.
在模擬器中測試App各項功能,查看是否有代碼出現內存泄露。
 
 
 6.
定位內存泄露代碼,並修改。
將故意注釋掉的[model release];代碼打開。
 
7.
再次測試是否存在內存泄露。

在添加了[model release];代碼后,再重新Run,然后cmd + ctrl +I, 切換到Leaks界面,無論再怎么點擊“加載音樂”按鈕,都檢測不到內存泄露了,表明內存泄露被堵住了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM