黑马程序员技术交流社区

标题: OC学习笔记之内存管理的原则 [打印本页]

作者: chunhuayun    时间: 2015-10-6 17:00
标题: OC学习笔记之内存管理的原则
1、内存管理原则
1)【原则】
A、只要还有东西在使用某个对象,那么这个对象就不会被回收
B、只要你想要使用这个对象,就应该让这个对象的引用计数+1
C、当你不使用这个对象时,就应该让这个对象的引用计数-1
2)【谁创建、谁release】
A、如果是通过alloc、new、copy来创建一个对象,那么久必须调用release或者autorelease方法
B、不是你创建的就不用去负责

3)【谁retain,谁release】
只要你调用了retain,无论这个对象是如何生成的。你都要调用release

4)【总结】
有始有终,如果之前让计数器+1,那么最后就得让计数器-1

2、内存管理研究的内容:
1)【野指针】僵尸对象
A、定义的指针变量没有初始化
B、指向的空间已经被释放

2)【内存泄露】
例如:
Person *p = [Person new];
该对象栈区p占用的空间已经释放了,但是堆区分配的还没释放,那么这就是内存泄露






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2