1. 程式人生 > >以時間換空間、以空間換時間、垃圾回收

以時間換空間、以空間換時間、垃圾回收

垃圾回收:

如果一個例項變數種指向某個物件,一定要在恰當的時候將例項變數賦值為nil,以取消對該物件的引用並使垃圾回收器知道該物件可以被清理了。

開發iphone應用,不能使用垃圾回收。

掌握retain release 和autorelease方法

理解引用,物件所有權

掌握自動釋放池使用方法

理解cocoa記憶體管理規則

瞭解垃圾回收機制

本質

oc記憶體管理機制與。net/java的全自動垃圾回收機制不同,其本質上是c語言的手動管理方式,但加入了自動方法。

oc物件生成後,需要一個指標來指向它。

oc物件在使用完之後不會自動銷燬,續執行dealloc來釋放空間,否則將會放生記憶體洩露。系統呼叫。

oc採用引用計數,物件內部儲存一個數字,標示被引用次數。

指標賦值是,retain count 不會自動增加,需要手動retain。

規則1:

誰建立、誰釋放

若通過alloc,new,copy建立一個物件,必須使用release 和autorelease