一沮榜、靜態(tài)分析
Xcode -> Product -> Analyze 即可進(jìn)行靜態(tài)分析胸囱。
Xcode 靜態(tài)分析能發(fā)現(xiàn)的問題主要有:
(1)邏輯缺陷,例如訪問未初始化的變量或空指針的解引用;
(2)內(nèi)存管理缺陷,如內(nèi)存泄露壮莹;
(3)無用存儲(chǔ)缺陷(永不會(huì)被訪問的變量);
(4)因未遵從項(xiàng)目用到的框架(frameworks)或類庫(libraries)所規(guī)范的而導(dǎo)致的API使用缺陷姻檀;
通過 Xcode Analyze 發(fā)現(xiàn)一些 error 之后命满,可以找開發(fā)討論解決問題;(藍(lán)色的即為 error绣版,黃色的為 warning)胶台。如下圖所示:
Xcode 具體的 error 信息.jpeg
二、內(nèi)存檢查
1.Xcode -> open Developer Tools -> instruments 打開模板選擇界面杂抽;
2.選擇 Leaks并點(diǎn)擊 Choose诈唬;
Leaks.jpeg
3.打開 instruments 界面后,點(diǎn)擊左上角的紅色錄制按鈕缩麸,然后在手機(jī)上進(jìn)行正常流程的測試铸磅;
然后會(huì)記錄內(nèi)存情況,如下圖:
測試流程的記錄.jpeg
All Heap Allocations 這一行顯示App占用的內(nèi)存,如果內(nèi)存持續(xù)增長阅仔,則App可能沒有及時(shí)釋放內(nèi)存吹散;
Leak Checks 這一行中若出現(xiàn)紅色X,代表App存在內(nèi)存泄漏八酒,下面的儀表板會(huì)具體展現(xiàn)出現(xiàn)內(nèi)存泄漏的代碼空民。
目前是檢測完畢了,接下來就是定位了丘跌,定位哪里有內(nèi)存泄漏了袭景,此時(shí)選中有內(nèi)存泄漏的地方(也就是上面的紅“×”),然后選中中間的Details闭树、后面的Call Tree耸棒,然后就是右下角的設(shè)置按鈕,這個(gè)界面的右下角有若干選框报辱,選中Invert Call Tree 和Hide System Libraries,顯示如下
顯示如下圖界面
關(guān)鍵性設(shè)置.png
最后就是雙擊4中的欄目就可以直接定位到代碼有內(nèi)存泄露的地方了
這個(gè)檢測只是輔助性的与殃,如果想使代碼完美,還是養(yǎng)成好的習(xí)慣碍现,寫代碼時(shí)候多多的注意才是幅疼,