提取图像时CFNetwork内存峰值

我正在使用Instruments分析我的应用程序,并且在使用AFNetworking获取远程图像时,发现了CFNetwork分配数量的问题。

在一个例子中,我看到了89 MB的分配(图像大小只有200 KB左右)。 我附上了一个截图来演示。 有没有其他人注意到这一点? 内存是正确的释放,但我不明白为什么这首先发生。

轮廓

提前致谢。

我只在iOS 8上看到同样的问题。 它不会发生在任何版本的iOS 7上。在模拟器上它的132kb,在一个设备上它的144kb。

这似乎与这个问题有关:

https://github.com/AFNetworking/AFNetworking/issues/2314

在这个例子中,我使用nsurlsession来执行http get。 如果你打的地方不发送保持活着,即google.com,它不会malloc那些kb。 但是如果你打的地方发送保持活着,它会的。

NSString * url = [NSString stringWithFormat:@"%@%.20f", @"http://someplace.com/?test=", (double)[[NSDate date] timeIntervalSince1970]; NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:url]]; [request setHTTPMethod:@"GET"]; [[[NSURLSession sharedSession] dataTaskWithRequest:request completionHandler:nil] resume]; 

仪器