以下是關于內(nèi)存管理的學習筆記:引用計數(shù)與ARC。
iOS5以前自動引用計數(shù)(ARC)是在MacOS X 10.7與iOS 5中引入一項新技術(shù),用于代替之前的手工引用計數(shù)MRC(Manual Reference Counting)管理Objective-C中的對象【官方也叫MRR(Manual Retain Release)】。如今,ARC下的iOS項目幾乎把所有內(nèi)存管理事宜都交給編譯器來決定,而開發(fā)者只需專注于業(yè)務邏輯。
但是,對于iOS開發(fā)來說,內(nèi)存管理是個很重要的概念,如果先要寫出內(nèi)存使用效率高而又沒有bug的代碼,就得掌握其內(nèi)存管理模型的細節(jié)。
一、引用計數(shù)
1.與內(nèi)存管理的關系?
在Objective-C內(nèi)存管理中,每個對象都有屬于自己的計數(shù)器:如果想讓某個對象繼續(xù)存活(例如想對該對象進行引用),就遞增它的引用計數(shù);當用完它之后,就遞減該計數(shù);當沒人引用該對象,它的計數(shù)變?yōu)?之后,系統(tǒng)就把它銷毀。
這個,就是引用計數(shù)在其中充當?shù)慕巧河糜诒硎井斍坝卸嗌賯€對象想令此對象繼續(xù)存活程序中;