ARC(Automatic Reference Counting)和GC(Garbage Collection)是两种内存管理策略,虽然看起来都很智能,二者有本质的区别。
- 自动引用计数ARC是一种编译期的内存管理机制,它依赖于编译器在代码中插入适当的引用计数操作。
- GC并不会改变编译期代码行为,是运行时的内存管理机制,追踪对象的生命周期,在适当时候释放内存。
ARC是一种更为先进的策略,可在编译期合适时机释放内存,GC更无脑,不管什么对象,等到GC工作看到可以释放的时候就释放,可能产生对象没及时释放。
