以下只是作者自己簡(jiǎn)單的理解:
MRC :(Manual Reference Counting)在Xcode4之前的OC的內(nèi)存管理就需要手動(dòng)管理.非常的不方便,不利于開(kāi)發(fā). 里面就是引用計(jì)數(shù)器的加減.
alloc豆巨,會(huì)為該對(duì)象創(chuàng)建內(nèi)存空間似扔,并且將引用計(jì)數(shù)置1.
retain挚币,引用計(jì)數(shù)+1.
release,引用計(jì)數(shù)-1.
autorelease灾票,出釋放池時(shí)引用計(jì)數(shù)-1.
copy,將對(duì)象的內(nèi)存復(fù)制出一塊新的內(nèi)存,新內(nèi)存中引用技術(shù)為
dealloc這個(gè)方法.會(huì)在對(duì)象銷毀時(shí).系統(tǒng)將自動(dòng)調(diào)用函數(shù)
使用這個(gè)方法必須要調(diào)用父類的.
可以把那些使用的對(duì)象讓他們?yōu)榭? 防止野指針錯(cuò)誤.
ARC:(Automatic Reference Counting)不需要手動(dòng)管理內(nèi)存,里面有自動(dòng)釋放池,系統(tǒng)會(huì)在合適的時(shí)候調(diào)用內(nèi)存管理方法.里面的對(duì)象指針被置空就會(huì)被釋放.當(dāng)指針指向新值時(shí).原來(lái)的對(duì)象會(huì)被release一次.
不能使用MRC的那些retain和release 等等.