oc記憶體管理基礎
本文**:
一. retain和release基本使用
使用注意:
1.你想使用(占用)某個物件,就應該讓物件的計數器+1(讓物件做一次retain操作)
2.你不想再使用(占用)某個物件,就應該讓物件的計數器-1(讓物件做一次release)
3.誰retain , 誰release
4.誰alloc,誰release 如:
int main()
二. 空指標,野指標,殭屍物件
空指標:沒有任何東西的指標(儲存的東西是nil, nall0)
給空指標傳送訊息不會報錯
野指標:指向殭屍物件(不可用記憶體)的指標,給野指標傳送訊息會報錯
錯誤:exc_bad_accecc:訪問一塊壞的記憶體(已經被**,已經不可用的記憶體)
如:int main()
會報經典錯誤:exc_bad_accecc:訪問一塊壞的記憶體(已經被**,已經不可用的記憶體)
殭屍物件:所占用記憶體已經**的物件,殭屍物件不能再使用
經典錯誤:message sent to deallocated instauce ox100109a10
意思是:給已經釋放的物件傳送了一條錯誤的訊息
OC基礎 手動記憶體管理
建立物件 1.分配記憶體空間,儲存物件 2.初始化成員變數 3.反回物件的指標位址 1.物件在完成建立的同時,內部會自動建立乙個引用計數器,這個計數器,是系統用來判斷是否 物件的唯一依據,當我們的引用計數 retaincount 0 的時候,系統會毫不猶豫 當前物件 2.物件release reat...
Oc 記憶體管理
1 對你自己擁有的物件負責,你只能釋放你擁有的物件 2 凡是你通過 retain alloc copy等手段獲得了所有者的物件,都必須在你不使用的時候來呼叫release autorelease等手段來釋放對他的所有權 3 在一定的 段內,對同乙個物件所作的copy alloc retain的操作次...
OC記憶體管理
1.記憶體管理原則 如果對乙個物件使用了alloc mutable copy retain,那麼你必須使用相應的release或者autorelease。2.管理範圍 任何繼承了nsobject 的物件,對其他基本資料型別 int char float double struct enum等 無效 ...