当我使用 Leaks 运行我的应用程序并查看任何泄漏的扩展详细信息时,它会将我带到代码中的特定行,但我不知道在那之后该怎么做!

例如,Leaks 在这一行显示了一个 malloc

NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];

但是我不知道语句中有什么问题!有人可以告诉我如何解释这些问题并避免泄漏。

谢谢。

编辑:
关于我之前的问题,NSZombieEnabled 确保没有对象被释放,这会增加内存使用量。因此,在使用 Leaks 进行测试时,请确保从您的应用中删除此设置。认为这可能会帮助某人。

最佳答案

找到了答案。 Fredrik 的回答让我开始思考。我正在创建 NSURLResponse 和 NSError 的实例,然后将其传递给 sendSynchronousRequest 方法。根据iPhone的内存管理文档,不应该这样做。我们只需要将 NSURLResponse 和 NSError 对象的引用传递给该方法,该方法负责创建和释放对象。

希望能帮助别人。非常感谢大家的回答。

10-08 15:43