1.内存管理机制
- 被称为“引用计数”(retain counting)
- 每一个对象都有一个引用计数(retain count)
2.为什么要管理内存
在我们iOS开发的过程中,程序内存超过20M会收到内存警告,到30M的时候程序就会闪退,这可能就是许多开发者崩溃的地方。
3.iOS的内存机制主要分为 ARC 和 MRC
4.内存管理的原则
- 内存管理的本质就是对内存引用计数的管理
- 有+1必须有对应的-1
- 只有看到alloc,retain,copy,就需要在当前的方法或者内部进行releas;
- 一个指针指向被retain,alloc,copy,就需要在当前的方法或者类内部进行release.
- 便利构造器创建的对象,已经在方法内部标识记过一次autorelease
- 容器的内存管理:一个对象被放到容器中,这个对象的引用计数+1,对象从容器中被移除的时候,这个对象引用计数会 -1.
5.系统回收内存的方法 dealloc
永远不要调用这个方法
在MRC下,重写这个方法的时候需要在最后一行写一个[super dealloc];
OC-内存管理机制
原文:http://www.cnblogs.com/jacky-wenhui/p/4960273.html