MRC、ARC内存管理

无论在MRC还是ARC情况下,Objective-C采用的是引用计数式的内存管理方式

每个对象都有一个与其相对应的引用计数器,当持有一个对象,这个对象的引用计数就会递增;当这个对象的某个持有被释放,这个对象的引用计数就会递减。当这个对象的引用计数变为0,那么这个对象就会被系统回收。

当一个对象使用完没有释放,此时其引用计数永远大于1。该对象就会一直占用其分配在堆内存的空间,就会导致内存泄露。内存泄露到一定程度有可能导致内存溢出,进而导致程序崩溃。

MRC指的是手动内存管理,在开发过程中需要开发者手动去编写内存管理的代码;

ARC指的是自动内存管理,在此内存管理模式下由LLVM编译器和OC运行时库生成相应内存管理的代码。

iOS之从MRC到ARC内存管理详解

你可能感兴趣的:(MRC、ARC内存管理)