OC之03內(nèi)存管理之a(chǎn)utorelease灾炭、ARC


autorelease

基本使用

autorelease方法會(huì)放回對(duì)象本身伶棒。這句話先記住

autorelease就是將我們的所有的對(duì)象放到一個(gè)自動(dòng)釋放池中

當(dāng)我們的自動(dòng)釋放池殺之前攒驰,他會(huì)做一個(gè)操作就是對(duì)我們自動(dòng)釋放池里面的所有對(duì)象做一次release操作

而我們?nèi)绾问褂梦覀兊淖詣?dòng)釋放池呢?

就是我們?cè)趧?chuàng)建對(duì)象的時(shí)候三痰,我們應(yīng)該這樣創(chuàng)建

有沒有注意到我們的Xcode一旦創(chuàng)建了一個(gè)新的項(xiàng)目的時(shí)候,我們的main函數(shù)里面就會(huì)有這樣的一段代碼:

注意這里面的有一個(gè)autoreleasepool這個(gè)就是我們的自動(dòng)釋放池他的作用就如上面講的所以要想我們的對(duì)象能夠不必我們操心(有我們的自動(dòng)釋放池)幫助我們給我們的對(duì)象做最后一次的release操作就需要我們將我們的對(duì)象創(chuàng)建代碼寫在我們的autoreleasepool里面去所以我們的代碼格式就如下:

注意里面的綠色的字體

使用注意:

1窜管、自動(dòng)釋放池可以創(chuàng)建出無(wú)限多個(gè)散劫,而且可以嵌套

2、我們調(diào)用autorelease方法時(shí)幕帆,并不會(huì)是我們的對(duì)象計(jì)數(shù)器減1获搏,只有當(dāng)我們的釋放池被銷毀之前,才會(huì)減1失乾。

3常熙、我們的釋放池被放在一個(gè)數(shù)據(jù)處理的棧中(這個(gè)棧與先前說(shuō)的棧有所不同)越是放進(jìn)去的晚,越是先被釋放

4仗扬、缺點(diǎn):不能精確的控制對(duì)象被釋放的時(shí)間

5症概、適用對(duì)象:占用內(nèi)存很小的對(duì)象(意思就是我們以后除了一些小的對(duì)象其他的都不要放進(jìn)釋放池)至于對(duì)象占用內(nèi)存大小我們以后會(huì)分析

總結(jié):

內(nèi)存管理總結(jié):

ARC

基本原理

ARC是我們編譯器的特性

1、當(dāng)我們的程序在編譯的過(guò)程中早芭,我們的編譯器會(huì)自動(dòng)檢測(cè)我們的代碼中哪里需要插入我們的釋放內(nèi)存的代碼

2彼城、一旦我們使用我們的ARC之前寫的大部分代碼Xcode都不允許我們?nèi)?/p>

3、而我們的ARC在釋放我們的對(duì)象的時(shí)候也是需要一定的判斷依據(jù)的(哪一個(gè)對(duì)象需要被釋放退个、哪一個(gè)對(duì)象現(xiàn)在還不能被釋放)而這個(gè)依據(jù)與我們的指針強(qiáng)弱有關(guān)

至于什么是強(qiáng)指針募壕,什么是弱指針后面我們?cè)僦v。

4语盈、一旦發(fā)現(xiàn)我們的對(duì)象是被弱指針指向的時(shí)候我們的編譯器就會(huì)將我們的對(duì)象銷毀

@property的strong與weak

之前我們?cè)谑褂聾property的時(shí)候一般會(huì)這么寫

@property(nonatomic舱馅, retain)Dog *dog;

現(xiàn)在我們使用ARC之后我們要這樣寫;

@property(nonatomic刀荒, strong)Dog *dog代嗤;

在我們的代碼中必須寫上strong? 因?yàn)閷懪c不寫卻別很大

例如我們的人與狗的關(guān)系

如果我們想要人在狗就在棘钞,人亡狗就滅,的話我們就使用強(qiáng)指針

如果我們想要人亡干毅,狗不一定滅的話宜猜,就使用弱指針


循環(huán)引用

以前我們說(shuō)過(guò)的當(dāng)兩個(gè)對(duì)象相互引用 的時(shí)候,一般我們會(huì)一個(gè)用retain一個(gè)用assign

在我們ARC里面我們對(duì)于這樣的循環(huán)引用我們會(huì)選擇一個(gè)用strong一個(gè)用weak

后言:我們的內(nèi)存管理就講到這了首先抱歉硝逢,由于本人的原因這個(gè)內(nèi)存管理在寫的時(shí)候并不理想(因?yàn)槲乙彩菦]有多認(rèn)真地在學(xué))所以抱歉姨拥。后面講的是我們OC的一些零碎的東西(但是很重要)在這謝謝大家的捧場(chǎng)。有一個(gè)喜歡本人就很開心啦??

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末渠鸽,一起剝皮案震驚了整個(gè)濱河市叫乌,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌徽缚,老刑警劉巖憨奸,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異猎拨,居然都是意外死亡膀藐,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門红省,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)额各,“玉大人,你說(shuō)我怎么就攤上這事吧恃∠豪玻” “怎么了?”我有些...
    開封第一講書人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵痕寓,是天一觀的道長(zhǎng)傲醉。 經(jīng)常有香客問我,道長(zhǎng)呻率,這世上最難降的妖魔是什么硬毕? 我笑而不...
    開封第一講書人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮礼仗,結(jié)果婚禮上吐咳,老公的妹妹穿的比我還像新娘。我一直安慰自己元践,他們只是感情好韭脊,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著单旁,像睡著了一般沪羔。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上象浑,一...
    開封第一講書人閱讀 49,829評(píng)論 1 290
  • 那天蔫饰,我揣著相機(jī)與錄音琅豆,去河邊找鬼。 笑死死嗦,一個(gè)胖子當(dāng)著我的面吹牛趋距,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播越除,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼外盯!你這毒婦竟也來(lái)了摘盆?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤饱苟,失蹤者是張志新(化名)和其女友劉穎孩擂,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體箱熬,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡类垦,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了城须。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚤认。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖糕伐,靈堂內(nèi)的尸體忽然破棺而出砰琢,到底是詐尸還是另有隱情,我是刑警寧澤良瞧,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布陪汽,位于F島的核電站,受9級(jí)特大地震影響褥蚯,放射性物質(zhì)發(fā)生泄漏挚冤。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一赞庶、第九天 我趴在偏房一處隱蔽的房頂上張望训挡。 院中可真熱鬧,春花似錦尘执、人聲如沸舍哄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)表悬。三九已至,卻和暖如春丧靡,著一層夾襖步出監(jiān)牢的瞬間蟆沫,已是汗流浹背籽暇。 一陣腳步聲響...
    開封第一講書人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留饭庞,地道東北人戒悠。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像舟山,于是被迫代替她去往敵國(guó)和親绸狐。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容

  • 本文首發(fā)于我的個(gè)人博客:「程序員充電站」[https://itcharge.cn]文章鏈接:「?jìng)魉烷T」[https...
    ITCharge閱讀 32,027評(píng)論 47 185
  • 29.理解引用計(jì)數(shù) Objective-C語(yǔ)言使用引用計(jì)數(shù)來(lái)管理內(nèi)存,也就是說(shuō)若债,每個(gè)對(duì)象都有個(gè)可以遞增或遞減的計(jì)數(shù)...
    Code_Ninja閱讀 1,475評(píng)論 1 3
  • 為什么進(jìn)行內(nèi)存管理符相? 由于移動(dòng)設(shè)備的內(nèi)存極其有限,所以每個(gè)APP所占的內(nèi)存也是有限制的蠢琳,當(dāng)app所占用的內(nèi)存較多時(shí)...
    天天想念閱讀 889評(píng)論 1 7
  • 內(nèi)存管理 簡(jiǎn)述OC中內(nèi)存管理機(jī)制啊终。與retain配對(duì)使用的方法是dealloc還是release,為什么傲须?需要與a...
    丶逐漸閱讀 1,953評(píng)論 1 16
  • 連續(xù)靈修59天蓝牲。【經(jīng)文】耶和華的使者對(duì)以利亞說(shuō):“你同著他下去躏碳,不要怕他搞旭!”以利亞就起來(lái),同著他下去見王菇绵, (列王...
    喜樂付閱讀 9,380評(píng)論 0 0