我正在将一系列图像从服务器加载到 NSData 对象中,如下所示:
for (int i = 0; i < 36; i++)
{
NSURL *url = [NSURL URLWithString:@"http://12.34.56.78/image.jpg"];
NSData *data = [NSData dataWithContentsOfURL:url];
// Further processing here
}
问题是每个数据对象的一半都保存在内存中。这不会显示为仪器泄漏。我知道它是 NSData 对象,因为我已经删除了与图像有关的所有内容,并且现在实际上只有评论前的两行。发生相同的行为。我尝试过分配初始化和显式释放,结果相同。
真正难以弄清楚的是,我创建了第二个项目来尝试重新创建这种行为,但我无法做到这一点。在另一个项目中,此代码按预期运行。所以我问,什么可能导致这种行为?我觉得我忽略了一些非常明显的东西。