由CoreFoundation Framework导致的内存泄漏

Adi*_*tya 5 iphone xcode iphone-sdk-3.0 ios4

我正在开发一个主要使用地址簿和数据库的iPhone应用程序.从地址簿中获取大约3000个联系人后,我将字符串标签附加到联系人(每个5个).我在数据库中保存我的标签.

对于负载测试目的,我已向应用程序添加了10,000个标签.但是在我的应用程序的负载测试期间,我观察到一些与应用程序代码无关但代表一组指令集的内存泄漏.此外仪器显示基金会为泄漏负责的库(大量使用NSString,NSDictionary,NSArray属于Foundation框架).我的应用程序在使用10-15分钟后崩溃.崩溃报告提到,应用程序因内存不足而崩溃.

使用CLANG进行内存分析显示零泄漏.我如何解决这些内存泄漏?这些泄漏事故是这次事故背后真正的罪魁祸首吗?还有其他工具可用于检查内存泄漏吗?

v01*_*01d 4

我经常发现我的泄漏说它们是由 Core Foundation(或任何其他与此相关的框架)引起的,但实际上是我自己的。除了模拟器之外,您很少会发现框架中出现过多的泄漏。

如果您打开 Instruments 右侧的详细信息面板,您可能会发现其中列出了您的应用程序的方法。这将告诉您它可能来自代码中的何处。一个泄漏可能会引发许多其他泄漏,您可能必须找到顶级的罪魁祸首才能消除较低级别的泄漏。

除了发现最明显的泄漏之外,您不应该期望 Clang 做任何事情。它非常方便,但仅此而已,只是对编译的一个有用的补充。