記憶體管理細節1

2021-07-09 10:08:13 字數 824 閱讀 9901

1、為何有時候給方法中的引數傳遞的是位址

2、mrc環境,謹記蘋果官方的記憶體管理規則!

像這種官方的快速建立物件方法,就不需要自己再去release,因為快速建立方法的內部已經用autorelease進行了記憶體管理。

3、集合的記憶體管理細節

4、dealloc方法

當乙個物件的引用計數器為0時,系統就會呼叫dealloc方法對該物件進行銷毀,程式設計師可以自己重寫該方法來實現自己的目的,比如該物件持有別的物件的引用,那麼就得在該物件被銷毀前將被持有的那個物件進行一次release操作(誰引用別的物件導致人家的引用計數+1,誰就在不引用這個物件時使它的引用計數-1)。

5、set方法的內部實現

6、定義列舉時的注意事項

7、乙個常見的警告資訊

記憶體管理(1)

在c 中,記憶體分成5個區,他們分別是堆 棧 自由儲存區 全域性 靜態儲存區 常量儲存區。棧,就是那些由編譯器在需要的時候分配,在不需要的時候自動清楚的變數的儲存區。裡面的變數通常是區域性變數 函式引數等。堆,就是那些由new分配的記憶體塊,他們的釋放編譯器不去管,由我們的應用程式去控制,一般乙個n...

記憶體管理(1)

記憶體管理 如果對乙個物件使用了alloc,mutable copy withzone 或者retain,那麼你必須使用相應的release或者autorelease。基本型別 任何c的型別 如 int,long,long long,struct等。記憶體管理對於c語言基本型別無效。oc型別 非基本...

set方法的記憶體管理細節

一 多個物件之間的記憶體管理 1.你想使用 占用 某個物件,就應該讓物件的計數器 1 讓物件做一次retain操作 2.你不想再使用 占用 某個物件,就應該讓物件的計數器 1 讓物件做一次release 3.誰retain,誰release 4.誰alloc,誰release 二 set方法的記憶體...