當(dāng)我們應(yīng)用馬上上線,先不要著急上線,應(yīng)該先去做一下內(nèi)存分析,防止出現(xiàn)問題
內(nèi)存分析分為兩種:
1.靜態(tài)分析,Analyze 不用運行程序,直接檢測代碼是否有潛在的內(nèi)存泄漏
2.動態(tài)分析:Instrument,Profile ? ?Allocations(內(nèi)存分配)/Leaks(內(nèi)存泄漏)?
ps:區(qū)分內(nèi)存泄漏 和 內(nèi)存溢出
內(nèi)存溢出:內(nèi)存不夠用,數(shù)據(jù)溢出? int a = 2324423482375489273148102934890
內(nèi)存泄漏:該釋放的對象沒有釋放
一.靜態(tài)分析
一般情況下arc將內(nèi)存泄漏處理的比較好了,(通知不刪除,監(jiān)聽者不刪除還是會有內(nèi)存泄漏的),所以我們做一個demo(MRC狀態(tài))

先將ARC(AutoMatic Reference Counting)->MRC(Manual Reference Counting)狀態(tài)
在控制器中簡單的寫如下兩句話,shift+cmd+b == (product-->analyze) ?靜態(tài)分析程序 ? (ps:cmd+b 是編譯)

藍(lán)色的話是“arr有潛在的內(nèi)存泄漏”,紫色位置添加[arr release]就好了
剛才去運行了一下自己公司的程序(ARC),靜態(tài)分析了一下,

好他??多~
剛才去看了一下,都是一些不規(guī)范的,靜態(tài)分析還是挺不錯的~


生成了變量,賦值了,但是沒有使用,

模型生成了,但是沒有使用,系統(tǒng)用于不會使用
這個位置allocation的具體使用方法,如何看問題,還沒有寫
二.動態(tài)分析
最好使用真機(jī),可以看到真是的內(nèi)存情況 ?product --> profile?

使用的真機(jī),常用的三個程序
點擊任意一個

2.1 Allocation
動態(tài)分析要去運行程序,才能看到程序中的內(nèi)存分配情況,還有是否有內(nèi)存泄漏的問題
2.2 Leak
這三個過幾天在寫