最近測試項目,偶然間發(fā)現(xiàn)某個地方有內(nèi)存泄漏的問題,每點開一次該界面,內(nèi)存都會暴漲10M左右,于是打開XCode自帶的內(nèi)存泄漏檢測工具測試了一下,得到了Leak Cycles和Leak by Backtrace的情況,發(fā)現(xiàn)內(nèi)存泄漏很嚴重啊

02D76AEF-E0D7-4F11-ACD7-E75B620EFAFD.png

6E83BF6B-E244-4605-832F-0E446FCC7222.png
于是定位到Leaks指出的代碼塊,查找了一遍,并沒有發(fā)現(xiàn)有循環(huán)引用的地方??嗨稼は肓税胩熳罱K還是沒有找到結(jié)果。后來注意到,內(nèi)存泄漏的種類并不是Cycles而是Root Leaks,也就是說,內(nèi)存泄漏并不是由于循環(huán)引用引起的。
最后才知道,原來這個文件是一個歷史久遠的文件,采用的是MRC編寫的,后來由于維護人員并不知道是MRC編寫,以為和其他文件一樣是ARC,于是忽略了內(nèi)存釋放的問題。