arc 是IOS 5 推出的新功能,全稱是ARC(automatic Reference Counting) ,簡單的說,就是代碼中自動加入了 retain relaese 原先需要手動添加的用來處理內存管理的引用計數的代碼可以自動地由編譯器完成
該機能在 iOS 5/ Mac OS X 10.7 開始導入,利用 Xcode4.2 可以使用該機能。簡單地理解ARC,就是通過指定的語法,讓編譯器(LLVM 3.0)在編譯代碼時,自動生成實例的引用計數管理部分代碼。有一點,ARC並不是GC,它只是一種代碼靜態分析(Static Analyzer)工具。
之前使用Object-C 中內存管理規則時,需要下面的准則:
生成對象時,使用AutoReasese
對象代入時,先Autorease 後 再 retain
使用ARC後,我們可以不需要這樣做了,甚至連最基礎的release都不需要了。
關於第二點,由於 XCode4.2 中缺省ARC就是 ON 的狀態,所以編譯舊代碼的時候往往有"Automatic Reference Counting Issue"的錯誤信息。