黑马程序员技术交流社区

标题: OC内存管理笔记分享 [打印本页]

作者: 钟曜吉    时间: 2015-12-6 18:34
标题: OC内存管理笔记分享


看到难易程度,吓傻了,赶紧认真做笔记认真听讲,分享下我做的笔记,大家一起交流交流。
------------------------------------



内存管理基本使用
为什么要内存管理:目的就是防止内存泄露。
内存泄露:一个对象不再使用,但这个对象却没有被销毁,空间没有释放,则这个就叫内存泄露。
内存管理的原则:不再使用的对象必须销毁,释放内存。
内存管理的方式:
对象中有一个引用计数器在记录当前的引用次数,每增加一次引用,计数器加1,每减少一次引用计数器减1。
当引用计数器的值是0时,这个对象会自动销毁,释放内存。
目的:让对象的引用计数器统计是准确的,保证,当前这个对象没有任何引用的时候,计数器的值是0.

retain 计数器+1
release 计数器-1
retainCount:表示对象引用计数器的值。
dealloc:对象被销毁时,必须执行这个方法。(系统会调用对象的这个方法)
凡是一个类 alloc 或new 或copy都会让计数器的值设置为1.(内部封装有retain)
谁引用,谁retain,各司其职,谁retain 谁release!谁alloc或new谁release!
多个对象指针如果指向同一个对象时,它们操作的计数器是同一个。

注意:
1.一个对象被销毁后,不能再使用。
2.一个对象引用了另一个对象,则必须在对象引入的时候retain,然后在对象自己被销毁的时候release。














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