應(yīng)用上線前的內(nèi)存分析

當(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

這三個過幾天在寫

2.3 Timer

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容