一、ARC
? ? ? ?ARC是iOS 5推出的新功能,全稱(chēng)叫 ARC(Automatic Reference Counting)。簡(jiǎn)單地說(shuō),就是代碼中自動(dòng)加入了retain/release,原先需要手動(dòng)添加的用來(lái)處理內(nèi)存管理的引用計(jì)數(shù)的代碼可以自動(dòng)地由編譯器完成了。
? ? ? 該機(jī)能在 iOS 5/ Mac OS X 10.7 開(kāi)始導(dǎo)入,利用 Xcode4.2 可以使用該機(jī)能。簡(jiǎn)單地理解ARC,就是通過(guò)指定的語(yǔ)法,讓編譯器(LLVM 3.0)在編譯代碼時(shí),自動(dòng)生成實(shí)例的引用計(jì)數(shù)管理部分代碼。有一點(diǎn),ARC并不是GC,它只是一種代碼靜態(tài)分析(Static Analyzer)工具。
轉(zhuǎn)自http://justcoding.iteye.com/blog/1391548
感興趣的朋友可以去看看,這里我只是作為筆記,方便自己查看。
二、MRC
? ? ? ? 在MRC的內(nèi)存管理模式下,與對(duì)變量的管理相關(guān)的方法有:retain,release和autorelease。retain和release方法操作的是引用記數(shù),當(dāng)引用記數(shù)為零時(shí),便自動(dòng)釋放內(nèi)存。并且可以用NSAutoreleasePool對(duì)象,對(duì)加入自動(dòng)釋放池(autorelease調(diào)用)的變量進(jìn)行管理,當(dāng)drain時(shí)回收內(nèi)存。
轉(zhuǎn)自http://blog.csdn.net/fightingbull/article/details/8098133
關(guān)于ARC和MRC的相關(guān)文檔有很多。感興趣和想要了解的朋友可以自己去查閱。
三、ARC和MRC混編
Xcode 項(xiàng)目中我們可以使用 ARC 和非 ARC 的混合模式。
如果你的項(xiàng)目使用的非 ARC 模式,則為 ARC 模式的代碼文件加入 -fobjc-arc 標(biāo)簽。
如果你的項(xiàng)目使用的是 ARC 模式,則為非 ARC 模式的代碼文件加入 -fno-objc-arc 標(biāo)簽。
添加標(biāo)簽的方法:
打開(kāi):你的target -> Build Phases -> Compile Sources.
雙擊對(duì)應(yīng)的 *.m 文件
在彈出窗口中輸入上面提到的標(biāo)簽 -fobjc-arc / -fno-objc-arc
點(diǎn)擊 done 保存
注:這些都是開(kāi)發(fā)時(shí)查找到的資料和自己的一些總結(jié),如果看到到相關(guān)資料或者繼續(xù)有其他的總結(jié),也會(huì)繼續(xù)更新。