国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 上犹县| 新乐市| 曲麻莱县| 浦东新区| 贡山| 新竹市| 彰化县| 哈密市| 荥阳市| 社会| 咸丰县| 元氏县| 乌兰察布市| 铜川市| 永泰县| 潍坊市| 当阳市| 新乡县| 北流市| 剑阁县| 雷州市| 娄底市| 绵竹市| 全南县| 中西区| 张北县| 遵化市| 奈曼旗| 琼结县| 高碑店市| 海南省| 德兴市| 昌江| 长武县| 荔浦县| 潮州市| 桓仁| 邮箱| 桐梓县| 敦煌市| 留坝县|