7記憶體管理 MRC

2022-05-17 09:56:38 字數 767 閱讀 3890

記憶體管理,即記憶體裡各個物件的管理,即記憶體裡各個物件的生命週期的管理,(從物件導向的角度看)

預設為1,即有一滴的生命血液,若為0就會死去

自己管理自己,自己在方法最後,要給自己release一下,不然自己死不了

1重寫遺書方法:在裡面把屬性物件釋放,

2重寫set方法,裡面若前後值不同,就釋放舊值,增加新值 (不然舊值死不了)

簡介好處:只要建立時丟進池子裡,就不用再寫release了

1retain指令封裝了,其對set方法,的release舊值,retain新值兩個操作

2assign : 直接賦值,不做任何記憶體管理

øcopy   : release舊值,copy新值(一般用於nsstring *)

附錄n殭屍物件

ø已經被銷毀的物件(不能再使用的物件)

nn野指標//也可理解為殭屍指標

ø指向殭屍物件(不可用記憶體)的指標

ø給野指標發訊息會報exc_bad_access錯誤

nn空指標

ø沒有指向儲存空間的指標(裡面存的是nil, 也就是0)

ø給空指標發訊息是沒有任何反應的

øn為了避免野指標錯誤的常見辦法

ø在物件被銷毀之後, 將指向物件的指標變為空指標

記憶體管理 MRC

記憶體管理,涉及的操作 記憶體管理的管理範圍 只有oc物件才需要進行記憶體管理的本質原因 引用計數器 4位元組 引用計數器常見操作 dealloc 野指標 vs.空指標 記憶體管理原則 set方法的記憶體管理 void setsomething something something dealloc...

OC 記憶體管理之MRC

隨著蘋果對xcode的逐步優化,arc記憶體管理方式已經深入人心,但現實是當下某些公司的一些老的專案可能還是用mrc模式寫的。所以這兩種方式我們都應該掌握。mrc mannulreference counting,顧名思義,就是手動記憶體管理。1 管理的物件 一切繼承自nsobject,在堆區申請記...

記憶體洩露之手動記憶體管理 MRC

由於移動裝置的記憶體是有限的,如果建立的物件用完不及時的銷毀 釋放 的話,就會造成記憶體洩露.如果該物件的記憶體空間釋放了,但是依舊在使用的話,那麼就是殭屍物件.同時指向殭屍物件的指標就是野指標.對於記憶體管理的原則是,不用的物件就要 其所占用的空間,防止造成記憶體洩露.並且我們要知道,記憶體洩露主...