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

 

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

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

 
實驗的開發環境:Xcode 7
 

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

APP程序開發完成後,能夠利用Xcode的Analyze就能分析到哪裏有內存泄露。工具

分析以後能夠看到:測試

這裏提示model沒被釋放,有內存泄露,那咱們釋放ui

    [model  release];spa

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

 

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

利用Product-Analyze分析內存泄露,並不能把全部的內存泄露查出來,由於有的內存泄露是在運行時,用戶操做時才產生的。那就須要用到Instruments了。blog

1.內存

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

 

2.cmd

點擊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界面,不管再怎麼點擊「加載音樂」按鈕,都檢測不到內存泄露了,代表內存泄露被堵住了。

相關文章
相關標籤/搜索