ARC(Automatic Reference Counting)篓跛,是iOS 5推出的新功能扒袖。為了解決MRC管理下的內(nèi)存泄漏拦键,野指針等問題男娄。
ARC雖然不需要手動去調(diào)用retain和release消息灭抑,編譯器會自動在合適的位置為我們添加這些代碼十艾,但是ARC還是存在內(nèi)存泄露的。
比如
.循環(huán)參照
A有個屬性參照B腾节,B有個屬性參照A忘嫉,如果都是strong參照的話荤牍,兩個對象都無法釋放,常見于deleage聲明為strong庆冕,實際應(yīng)該用assign康吵。還有就是block中使用了當(dāng)前對象,實際應(yīng)該把當(dāng)前對象復(fù)制給一個局部變量然后用__block修飾访递。
.死循環(huán)問題
比如如果某個ViewController中有無限循環(huán)晦嵌,也會導(dǎo)致即使ViewController對應(yīng)的view關(guān)掉了,ViewController也不能被釋放拷姿,這種問題常發(fā)生于animation處理惭载。