使用NSURLConnection sendAsynchronousRequest:queue:completionHandler:
方法时,ios 8中似乎存在内存泄漏。
(例如,您可以将其放在application:didFinishLaunchingWithOptions:
AppDelegate
方法中
以下代码重现了该问题。
for(int i = 1;i<5000;i++){
NSURL* url = [NSURL URLWithString:@"https://www.google.fr/images/srpr/logo11w.png"];
NSMutableURLRequest* request = [NSMutableURLRequest requestWithURL:url];
[NSURLConnection sendAsynchronousRequest:request queue:[[NSOperationQueue alloc] init] completionHandler:^(NSURLResponse *response, NSData *data, NSError *connectionError) {
NSLog(@"%d",i);
}];
}
执行时,内存不断增长,每次请求完成后,RAM大约为200MB。
请注意,在ios 7中,这不会发生。
是否有人知道这方面的解决方法?