Iphone 基金会的内存泄漏;网络图书馆

Iphone 基金会的内存泄漏;网络图书馆,iphone,memory-management,memory-leaks,instruments,Iphone,Memory Management,Memory Leaks,Instruments,我正在使用仪器解决iPhone应用程序的内存泄漏问题。我只是想知道我是否必须解决来自基金会和CFNEB图书馆的漏洞。具体而言,泄漏源于: 1.NSCFString 2.NSConcreteData 3.通用块-3584 既然它们没有直接指向我编写的代码,那么如果必须,我应该如何解决它们呢 谢谢。 几乎可以肯定的是,内存泄漏来自于代码——基础库中几乎没有内存泄漏,提供了在设备上的测试(模拟器中存在内存泄漏,所以您应该总是在设备上进行测试)。泄漏的来源并不总是很明显,也很难从您的问题中分辨出来,但我

我正在使用仪器解决iPhone应用程序的内存泄漏问题。我只是想知道我是否必须解决来自基金会和CFNEB图书馆的漏洞。具体而言,泄漏源于:
1.NSCFString
2.NSConcreteData
3.通用块-3584
既然它们没有直接指向我编写的代码,那么如果必须,我应该如何解决它们呢


谢谢。

几乎可以肯定的是,内存泄漏来自于代码——基础库中几乎没有内存泄漏,提供了在设备上的测试(模拟器中存在内存泄漏,所以您应该总是在设备上进行测试)。泄漏的来源并不总是很明显,也很难从您的问题中分辨出来,但我猜它要么来自泄漏
NSString
NSStrings
是通过
NSCFString
在引擎盖下实现的)要么来自与网络相关的类,如
NSURLConnection
和基础框架。一个小补丁清除了所有内存泄漏。在使用AynchronousHTTP连接时,我遇到了这个问题

问题: 在委托中,
-(void)connection:(NSURLConnection*)connection didReceiverResponse:(nsurResponse*)
response

我复制了回复并发布了

解决方案:
不要复制并发布nsurresponse。只需在头文件中将其用作属性asstype。

好的,但是如果错误来自我的代码,我是否会将错误库作为我的应用程序的名称?通常,方法和函数调用的链可能会很复杂,特别是当您处理任何线程或异步方法时。例如,如果您正在处理一个
NSURLConnection
,库可能会显示为
CFNetwork
(我不确定我脑子里是不是有这种情况,这只是一个假设的例子)。也就是说,框架中有一些漏洞,您可能遇到了一个:看,我对代码进行了彻底检查。使用alloc创建的所有内容在使用后都已发布。还有其他创建实例需要发布吗?@Lakshmie:唯一需要
发布
对象的时间是方法名称中包含
复制
新建
的方法(同样,如果
保留
对象,则必须
稍后发布
)。当我说它“几乎肯定”不是框架代码时,我可能说得太早了——一般Block-3584泄漏看起来可能来自框架。谢谢。我已经检查了所有的。我仍然会收到NSConcreteData和NSCFString泄漏,并且我的应用程序没有报告任何泄漏。