我正在使用工具来解决 iPhone 中应用程序的内存泄漏问题。我只是想知道我是否必须解决来自 Foundation 和 CFNetwork 库的泄漏。具体来说,泄漏来自:
1. NSCFString
2. NSConcreteData
3. General Block-3584
由于它们不直接指向我编写的代码,如果必须,我应该如何解决它们?
谢谢。
我正在使用工具来解决 iPhone 中应用程序的内存泄漏问题。我只是想知道我是否必须解决来自 Foundation 和 CFNetwork 库的泄漏。具体来说,泄漏来自:
1. NSCFString
2. NSConcreteData
3. General Block-3584
由于它们不直接指向我编写的代码,如果必须,我应该如何解决它们?
谢谢。
我在指向CFNetwork和 Foundation 框架的内存泄漏方面遇到了同样的问题。一个小修复清除了所有内存泄漏。在使用异步 HTTP 连接时,我遇到了这个问题。
在代表中,- (void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse*)
响应,
我复制了 NSURLResponse 并发布了。
不要复制和发布NSURLResponse。只需将其用作头文件中的属性 asstype 即可。
几乎可以肯定内存泄漏来自您的代码——Foundation 库中几乎没有内存泄漏,前提是您正在设备上进行测试(模拟器中存在内存泄漏,因此您应该始终在设备上进行测试) . 泄漏的来源并不总是很明显,而且很难从你的问题中分辨出来,但我猜它要么来自泄漏NSString
(在引擎盖下NSStrings
实现NSCFString
),要么来自与网络相关的类,如NSURLConnection
.