当我使用 Leaks 运行我的应用程序并查看任何泄漏的扩展详细信息时,它会将我带到代码中的特定行,但我不知道在那之后该怎么做!
例如,Leaks 在这一行显示了一个 malloc
NSData *data = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
但是我不知道语句中有什么问题!有人可以告诉我如何解释这些问题并避免泄漏。
谢谢。
编辑:
关于我之前的问题,NSZombieEnabled 确保没有对象被释放,这会增加内存使用量。因此,在使用 Leaks 进行测试时,请确保从您的应用中删除此设置。认为这可能会帮助某人。
最佳答案
找到了答案。 Fredrik 的回答让我开始思考。我正在创建 NSURLResponse 和 NSError 的实例,然后将其传递给 sendSynchronousRequest 方法。根据iPhone的内存管理文档,不应该这样做。我们只需要将 NSURLResponse 和 NSError 对象的引用传递给该方法,该方法负责创建和释放对象。
希望能帮助别人。非常感谢大家的回答。