国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

【讀書筆記】iOS-內(nèi)存管理

2019-11-14 18:20:08
字體:
供稿:網(wǎng)友

Cocoa的內(nèi)存管理:retain,release和autorelease.

每個對象都維護一個保留計數(shù)器。對象被創(chuàng)建時,其保留計數(shù)器值為1;對象被保留時,保留計數(shù)器值加1;對象被釋放時,保留計數(shù)器值減1;當(dāng)保留計數(shù)器值歸0時,對象被銷毀。在銷毀對象時,首先調(diào)用對象的dealloc方法,然后回收其占用的內(nèi)存以供其他對象使用。

當(dāng)對象接收到一條autorelease消息時,其保留計數(shù)器值并不立馬改變。相反,該對象只是被放入NSAutoreleasePool中。當(dāng)自動釋放池被銷毀時,會身池中的所有對象發(fā)送release消息。所有被自動釋放的對象都將其保留計數(shù)器值減1.如果保留計數(shù)器值歸0,則對象被銷毀。當(dāng)使用AppKit時,Objective-C會在適當(dāng)?shù)臅r間為你創(chuàng)建和銷毀自動釋放池,例如在當(dāng)前用戶事件處理完畢時。除此以外,你要負(fù)責(zé)創(chuàng)建自己的自動釋放池,F(xiàn)oundation庫工具的模板包含了這些代碼。

 

Cocoa中關(guān)于對象及其保留計數(shù)器的3條規(guī)則。

1,如果使用new,alloc或copy操作獲得一個對象,則該對象的保留計數(shù)器值為1.

2,如果通過任何其它方法獲得一個對象,則假設(shè)該對象的保留計數(shù)器值為1,而且已經(jīng)被設(shè)置為自動釋放。

3,如果保留了某個對象,則必須保持retain方法和release方法的使用次數(shù)相等。

 

參考資料:《Object-C基礎(chǔ)教程》

 

 
 

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 尖扎县| 滨州市| 扶余县| 泾阳县| 沙雅县| 漾濞| 吉木乃县| 蒙城县| 武穴市| 老河口市| 会昌县| 江源县| 昌乐县| 四子王旗| 略阳县| 庄河市| 大埔县| 博湖县| 甘肃省| 剑阁县| 静海县| 津南区| 琼中| 朝阳区| 都安| 额尔古纳市| 吴江市| 桂平市| 定结县| 胶州市| 扶余县| 绥江县| 五寨县| 即墨市| 吉隆县| 略阳县| 临安市| 灵寿县| 亳州市| 南部县| 香港|