2012年9月3日 星期一

MAC Day 7 - Objective C - 記憶體管理

1. 自動垃圾回收 Automatic Garbage Collection
2. 手動引用計數 Manual Reference Counting, MRC
3. 自動引用計數 Automatic Reference Counting, ARC

和 Java 很像, Garbage Collection 用 reference counting 來看該塊記憶體有沒有程式使用.
如果沒有就將其透過 release pool 回收.

4. 自動釋放池 Auto release pool
    @autoreleasepool


    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
 
    NSLog(@"Hello World!");
 
    [pool drain];


=>


    @autoreleasepool{
        NSLog(@"Hello World!");
    }


5. retain v.s. release
    retain : reference count + 1
    release : reference count -1

沒有留言:

熱門文章