欧美成人午夜免费全部完,亚洲午夜福利精品久久,а√最新版在线天堂,另类亚洲综合区图片小说区,亚洲欧美日韩精品色xxx

iOS中引用計(jì)數(shù)內(nèi)存管理機(jī)制詳解

2015-05-11 15:25:50 1223瀏覽

    在 iOS 中引用計(jì)數(shù)是內(nèi)存的管理方式,雖然在 iOS5 版本中,已經(jīng)支持了自動(dòng)引用計(jì)數(shù)管理模式,但理解它的運(yùn)行方式有助于我們了解程序的運(yùn)行原理,有助于 debug 程序。
 
 
 
    操作系統(tǒng)的內(nèi)存管理分成堆和棧。
    在堆中分配的內(nèi)存,都試用引用計(jì)數(shù)模式;在棧中則不是。
       NSString 定義的對象是保存在棧中,所以它沒有引用計(jì)算。看一些書上說它的引用計(jì)算會(huì)是 fffffffff 最大整數(shù),測試的結(jié)果顯示它是- 1. 對該對象進(jìn)行 retain 操作,不好改變它的 retainCount 值。
       MutableNSString 定義的對象,需要先分配堆中的內(nèi)存空間,再初始化才能使用。它是采用引用計(jì)數(shù)管理內(nèi)存的。對該對象做 retainCount 操作則每次增加一個(gè)。
其實(shí),引用計(jì)數(shù)是對內(nèi)存區(qū)域的空間管理方式,是應(yīng)從內(nèi)存塊的視角去看的。任何對象都是指向它的指針,有多少個(gè)指針指向它,就有多少個(gè)引用計(jì)算。
    如果沒有任何指針指向該內(nèi)存塊了,很明顯,該內(nèi)存塊就沒有對象引用了,引用計(jì)算就是 0, 系統(tǒng)會(huì)人為該內(nèi)存區(qū)域已經(jīng)空閑,于是立即清理,也就是更新一下管理堆的鏈表中某個(gè)標(biāo)示位。
測試方法如下:
    在 xcode 中建立一個(gè)非 arc 的項(xiàng)目,單視圖即可。建立一個(gè)按鈕的操作方法。
    簡而言之,引用計(jì)數(shù)實(shí)際上是指向其內(nèi)存區(qū)域的指針數(shù),從內(nèi)存塊的角度去理解,就很容易理解了。



標(biāo)簽:

熱門專區(qū)

暫無熱門資訊

課程推薦

微信
微博
15311698296

全國免費(fèi)咨詢熱線

郵箱:codingke@1000phone.com

官方群:148715490

北京千鋒互聯(lián)科技有限公司版權(quán)所有   北京市海淀區(qū)寶盛北里西區(qū)28號中關(guān)村智誠科創(chuàng)大廈4層
京ICP備2021002079號-2   Copyright ? 2017 - 2022
返回頂部 返回頂部