Core Foundation内存管理
来源:互联网 发布:ftp源码下载 编辑:程序博客网 时间:2024/05/20 07:14
Core Foundation内存管理
我的理解CoreFoundation是一堆C语言API的集合。内存管理和Objective C感觉挺像的。简单介绍如下:
CoreFoundation也有引用计数的概念,或者叫retain计数。这个计数代表有多少个拥有者持有一个对象。当一个对象的引用计数是0的话,这个对象就被释放了。CoreFoundation遵循下面的规律:
1,如果你创建了一个对象,那么你就持有它。
2,如果从某个地方得到一个对象,那么并没有持有它。为了防止它被释放,需要调用CFRetain方法。
3,如果你持有了一个对象,使用完后要CFRelease这个对象。
CoreFoundation有许多取得一个ref的方法。由于CoreFoundation使用的是持有的机制。所以我们必须要知道是否自己持有一个对象,这样才能管理内存。CoreFoundation制定了命名规则帮助我们判断是否持有一个对象。
1,Create准则:
如果函数名带有Create/Copy的话,说明你持有该对象。例如以下函数:
下面情况相对复杂一些
CFBagCreateMutableCopy函数既有Create又有Copy。实际上它是Create函数。后面Copy的意思是要Copy bag这个参数。
2,Get准则:
如果函数名带有Get的话,说明你并没有持有该对象。
Link: http://www.wangdg.com/?p=447
- Core Foundation内存管理
- iOS内存管理--Core Foundation
- cocoa core foundation内存管理
- Core Foundation对象的内存管理原则
- Core Foundation 对象的内存管理
- Objective-C 和 Core Foundation 对象相互转换内存管理
- IOS-Foundation-内存管理
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- Objective-C和Core Foundation 对象相互转换的内存管理总结
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- [ios]Objective-C 和 Core Foundation 对象相互转换的内存管理总结 【转】
- Objective-C 和 Core Foundation 对象相互转换的内存管理总结
- 改善C#程序的建议1:非用ICloneable不可的理由
- (转)用PostgreSQL,要设置好locale
- C#中new, override, virtual的具体用法
- OC基础记录
- BlazeDS 入门及配置
- Core Foundation内存管理
- C#中FCL迭代器模式的一点问题
- 一个非常酷的flex轮盘验证码
- 改善C#程序的建议2:C#中dynamic的正确用法
- Flex中使用CSS
- C#高效编程话题集1(每期10话题)
- powerdesign 12 破解方法
- 改善C#程序的建议3:在C#中选择正确的集合进行编码
- Eclipse Struts2插件下载及配置