Analyze 静态分析工具中显示 大量的CF类型指针 内存leak 问题, Core Foundation 类型指针内存泄漏
2024-08-23 21:50:21
Analyze 静态分析工具中显示 大量的CF类型指针 内存leak 问题
今天使用Analyze 看了下项目,
解决办法,项目中使用了ARC,OC的指针类型我们完全不考虑release的问题,但是使用CF 的地方就不同,CF类型的指针我们是采用__bridge** 处理的,但是处理的时间还是出现了内存泄漏,
CFArrayRef results = ABAddressBookCopyArrayOfAllPeople(addressBook);
使用了必须采用CFRelease(results);进行释放,ARC帮你不会做这个工作的。
NSString * personPhone = (__bridge NSString*)personPhoneC;
类似于 weak ,需要释放的,调用CFRelease
NSString * personPhoneLabel = (__bridge_transfer NSString *)personPhoneLabelCF;
_bridge_transfer已经引入了新指针的所有权,并且已经对旧指针的所有权进行了释放,无需要在CFRelease;
总之,你还是黄金法则,你用了啥就管理啥,是OC的东西,开了ARC ,系统帮你管理,CF 的东西,开了ARC也是不能帮你做内存管理的,你用了啥就自己去管理。
最后: 生活就是碎片,有了漏洞就去补呀,碎片多了,早晚会死掉的...
最新文章
- Python数据结构与算法设计总结篇
- 转 Jmeter之Bean shell使用(二)
- python日志模块---logging
- 【BZOJ2049】 [Sdoi2008]Cave 洞穴勘测 LCT/并查集
- linux 2.6.21版本的内核合法的MAC地址
- 谈谈MSP430 的框架程序
- swift-UILabel
- handler.post(r)同一个线程的疑惑
- Zend框架2入门(一) (转)
- 转: Python 运算符与用法
- 页面加载时,页面中DIV随之滑动出来;去掉页面滚动条
- iOS用户行为追踪——无侵入埋点
- C语言第八次博客作业--字符数组
- UOJ #36「清华集训2014」玛里苟斯
- 001.NoSQL及MongoDB简介
- win10 专业版 git bash 闪退问题终极解决方案
- CAD扩展属性的提取--FME方式
- Plus One 加一运算
- ios 8 联系人ABPeoplePickerNavigationController
- EditPlus常用快捷键[私人]
热门文章
- load dll
- python urllib2模块携带cookie
- Bootstrap框架中的字形图标的理解
- <; <; <; 2013年国家集训队作业 >; >; >;
- 玩玩hibernate
- 7月19日Docker&Kubernetes技术沙龙总结 - DockOne.io
- 1115 HTML CSS
- [TypeScript] Reflection and Decorator Metadata
- [AngularJS] angular-formly: Extending Types
- Lua的安装