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

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

ios學(xué)習(xí)筆記之內(nèi)存管理

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

一,內(nèi)存管理類型定義

     1,基本類型  任何C的類型,eg:

     int,short,char,long,long long,struct,enum,union等屬于基本類型或結(jié)構(gòu)體

     內(nèi)存管理對于C語言的基本類型無效

     2,OC類型(非基本類型)

     任何繼承于NSObject類的對象都屬于OC類型

     也就是除了C之外的其他類型

二,OC對象結(jié)構(gòu)

     所有OC對象都有著一個計數(shù)器,保留著當(dāng)前對象被引用的數(shù)量,如果計數(shù)器為0,那么就真正的釋放這個對象。

三,alloc   retain  release 函數(shù)

     1, alloc函數(shù)是創(chuàng)建對象使用,創(chuàng)建完成后計數(shù)器為1(只用一次)

     retain是對一個對象的計數(shù)器+1 (可以多次調(diào)用)

     release是對一個對象計數(shù)器-1(減到0 對象就會從內(nèi)存中釋放)

     2,oc類中實現(xiàn)了引用計數(shù)器,對象知道當(dāng)前被引用的次數(shù)。

     如果需要引用對象,可以給對象發(fā)送一個retain消息,這樣對象計數(shù)器就+1;

     當(dāng)不需要引用對象了,可以給對象發(fā)送release消息,這樣對象計數(shù)器就-1;

     當(dāng)計數(shù)器減到0,自動調(diào)用對象的dealloc函數(shù),對象就會釋放內(nèi)存;

     計數(shù)器為0的對象不能再使用release和其他方法。

四,自動釋放池

     自動釋放池是OC的一種內(nèi)存自動回收機(jī)制,可以將一些臨時變量通過自動釋放池來統(tǒng)一回收釋放。

     當(dāng)自動釋放池本身銷毀的時候,池子里面所有的對象都會做一次release操作。

     任何OC對象只要調(diào)用autorelease方法,就會把該對象放到離自己最近的自動釋放池中(棧頂?shù)尼尫懦兀?/p>

五,不是用alloc,retain,copy創(chuàng)建的對象,不能使用release釋放。


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 民勤县| 加查县| 石台县| 清水河县| 榆林市| 吉隆县| 安徽省| 景谷| 安平县| 昆明市| 辉南县| 自贡市| 内丘县| 鹰潭市| 文登市| 汉沽区| 万载县| 太仓市| 泰来县| 徐汇区| 宜兴市| 宜君县| 永新县| 罗江县| 西和县| 霍山县| 贵南县| 绥化市| 南华县| 青龙| 松桃| 秀山| 叶城县| 囊谦县| 太原市| 南澳县| 新和县| 鄂托克旗| 金溪县| 含山县| 石楼县|