获取图像时CFNetwork内存峰值

时间:2014-10-20 05:19:10

标签: ios afnetworking cfnetwork

我正在使用仪器分析我的应用程序,并且当我使用AFNetworking获取远程图像时,CFNetwork发现了一些令人不安的分配。

在一个实例中,我看到了89 MB的分配(图像大小只有200 KB左右)。我已附上截图进行演示。有没有人注意过这个?记忆得到了适当的释放,但我无法理解为什么会发生这种情况。

Profile

提前致谢。

1 个答案:

答案 0 :(得分:3)

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

似乎与此问题有关:

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

我在此示例中使用nsurlsession执行http get。如果你遇到一个不发送保持活动的地方,即google.com,它就不会使用那些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];

instruments