Objective-C有三种内存管理,分别是MRR(Manual Retain Release,手动保持释放),ARC(Automatic Reference Counting,自动引用计数)和GC(垃圾回收)。
MRR,也称为MRC(手动引用计数),就是程序猿自己负责管理对象生命周期,负责对象的创建和销毁。
ARC,采用与MRR一样的内存引用计数管理方法,但不同的是,它在编译时会在合适的位置插入对象内存释放(如release,autorelease和retain等),程序员不用关心对象释放的问题。
GC,垃圾回收是后台有一个线程负责检查已经不再使用的对象,然后释放。由于后台有一个线程一直运行,因此会严重影响性能。