【Objective-C】关于手动计数内存引用(MRC)
2017-02-18 21:15
260 查看
使用方法
- (id) retain;执行本方法的实例内存计数+1,返回对象本身
- (oneway void) release;
执行本方法的实例内存计数-1
- (NSUInteger) retainCount;
返回内存计数值
操作细节
当内存计数为0时,将自动发送dealloc消息释放内存,不能手动调用dealloc方法来释放内存可以通过重写dealloc方法来实现在释放对象时进行特殊操作,如输出相关信息等
当对象被拥有时,及有指针指向该对象时,对象的引用计数应当+1,如果有多次引用,则该引用计数需要多次累加
对象在进行新的属性设置(set)时,要先对新引用对象计数+1来避免重复引用造成对象释放,然后要对原对象进行释放操作来避免泄露
相关文章推荐
- Objective-C:MRC手动释放对象内存举例(引用计数器)
- iOS内存管理机制解析之MRC手动引用计数机制
- Objective-C关于非ARC模式下的对象引用计数
- OC内存管理,MRC,手动引用计数,ARC,自动引用计数
- 今天谈谈OC中MRC手动引用计数的内存释放问题
- iOS内存管理机制解析之MRC手动引用计数机制
- cocos2d-x 从onEnter、onExit、 引用计数 谈内存泄露问题
- 关于返回函数内部new分配的内存的引用
- 函数的引用, 关于内存的开销
- 关于VC6.0 MSDEV.EXE-应用程序错误"0x5003eaed"指令引用的"0x0000000"内存错误的解决办法
- 关于智能指针,引用计数的学习与实现
- objective-C引用计数的使用心得
- [objective-c]关于内存
- BREW(包括BUIW)引用计数及内存使用规则
- objective-C的@property(atomic, retain)对引用计数的影响
- IOS开发(40)之objective-C 的内存管理之-引用计数
- js函数的引用, 关于内存的开销
- 关于VC++6.0时点打开文件时总弹出“ox5003eaed”指令引用的“ox00000000”内存。该内存不能为“read”的解决方法
- 关于std::string的引用计数在多线程中产生的问题
- 关于VC++6.0时点打开文件时总弹出“ox5003eaed”指令引用的“ox00000000”内存。该内存不能为“read”的解决方法 .