你好,歡迎來到IOS教程網

 Ios教程網 >> IOS編程開發 >> IOS開發綜合 >> ARC總結

ARC總結

編輯:IOS開發綜合

1.什麼是ARC

在ARC之前的MRC方式中,順序員需求手動地鍵入代碼來管理對象的生命周期(次要是正確地銷毀對象)。在ARC方式中,由編譯器來輔佐拔出管理對象生命周期的代碼,增加了開發任務量並進步了順序的強健性。

ARC是編譯時特性,不是渣滓回收

2.援用計數

oc對象在內存中以構造體的方式存儲,構造體中有一個字段refrenceCount(援用計數)用來表示該對象被持有的次數,假如該對象被新的援用持有,則count +1,假如一個援用生效,則count -1,當count數為零的時分 調用dealloc辦法來銷毀對象。

3.ARC的修飾符

__strong:
修正符默許為__storng。當strong的變量援用某對象時,該對象被retain一次,當strong變量生效時(超出作用域或不在援用某對象),該對象被release一次

__weak:
被weak修飾的變量在援用對象時,對象不retain,援用生效時,對象也不release。有一點特殊的中央是,假如某個對象被銷毀時,一切指向它的weak變量都會被置為nil(__unsafe__unretain則不會),這個技術叫做zero weak pointer,它添加的順序的強健性。

__autoreleasing:
當援用被autoreasing修飾時,編譯器會拔出autoRelease辦法。所以在autoRelease pool銷毀時,該對象會調用release辦法

4.循環援用

假如順序中存在循環援用,就會招致循環援用中的對象無法被釋放,招致內存走漏。

【ARC總結】的相關資料介紹到這裡,希望對您有所幫助! 提示:不會對讀者因本文所帶來的任何損失負責。如果您支持就請把本站添加至收藏夾哦!

  1. 上一頁:
  2. 下一頁:
蘋果刷機越獄教程| IOS教程問題解答| IOS技巧綜合| IOS7技巧| IOS8教程
Copyright © Ios教程網 All Rights Reserved