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也是不能帮你做内存管理的,你用了啥就自己去管理。

最后: 生活就是碎片,有了漏洞就去补呀,碎片多了,早晚会死掉的...

最新文章

  1. Python数据结构与算法设计总结篇
  2. 转 Jmeter之Bean shell使用(二)
  3. python日志模块---logging
  4. 【BZOJ2049】 [Sdoi2008]Cave 洞穴勘测 LCT/并查集
  5. linux 2.6.21版本的内核合法的MAC地址
  6. 谈谈MSP430 的框架程序
  7. swift-UILabel
  8. handler.post(r)同一个线程的疑惑
  9. Zend框架2入门(一) (转)
  10. 转: Python 运算符与用法
  11. 页面加载时,页面中DIV随之滑动出来;去掉页面滚动条
  12. iOS用户行为追踪——无侵入埋点
  13. C语言第八次博客作业--字符数组
  14. UOJ #36「清华集训2014」玛里苟斯
  15. 001.NoSQL及MongoDB简介
  16. win10 专业版 git bash 闪退问题终极解决方案
  17. CAD扩展属性的提取--FME方式
  18. Plus One 加一运算
  19. ios 8 联系人ABPeoplePickerNavigationController
  20. EditPlus常用快捷键[私人]

热门文章

  1. load dll
  2. python urllib2模块携带cookie
  3. Bootstrap框架中的字形图标的理解
  4. < < < 2013年国家集训队作业 > > >
  5. 玩玩hibernate
  6. 7月19日Docker&Kubernetes技术沙龙总结 - DockOne.io
  7. 1115 HTML CSS
  8. [TypeScript] Reflection and Decorator Metadata
  9. [AngularJS] angular-formly: Extending Types
  10. Lua的安装