IOS開發中的記憶體管理(二)

2021-06-28 21:05:44 字數 445 閱讀 1651

arc是自ios 5之後增加的新特性,完全消除了手動管理記憶體的煩瑣,編譯器會自動在適當的地方插入適當的retain、release、autorelease語句。大大的簡化了開發的複雜度並且也提高了開發效率

arc 的規則:只要還有乙個

強指標變數指向物件

,物件就會保持在記憶體中

預設所有例項變數和區域性變數都是強指標

弱指標指向的物件被**後,弱指標會自動變為nil

指標,不會引發野指標錯誤

不能呼叫release、retain、autorelease、retaincount

可以重寫dealloc,但是不能呼叫[super dealloc]

property : 想長期擁有某個物件,應該用strong,其他物件用weak

其他基本資料型別依然用assign

兩端互相引用時,一端用strong、一端用weak

IOS開發中的記憶體管理(一)

所能占用的記憶體是有限制的。所占用的記憶體較多時,系統會發出記憶體警告,這時得 一些不需要再使用的記憶體空間。管理範圍 任何繼承了 nsobject 的物件,對其他基本資料型別 int char float double struct enum 等 無效 每個oc 物件都有自己的引用計數器,是乙個整...

ios開發記憶體管理要點

一 使用nsmutablearray例項時的三個記憶體管理要點 1.物件加入nsmutablearray例項時,物件會收到retain訊息 陣列物件會成為該物件的擁有方,並得到乙個指向該物件的指標。2.物件從nsmutablearray例項移出時,會收到release訊息 陣列物件會放棄該物件的所有...

iOS開發 記憶體管理之記憶體分配

下面舉個例子說明下 nsstring string string nsstring alloc initwithstring hello ios 這裡string其實就是乙個指標,oc中除了基本資料型別之外的變數型別都是指標型別,oc物件都是通過指標進行操作的。第一段 定義了nsstring型別的指...