代码改变世界

内存泄漏

2018-01-28 21:58  Hi,David  阅读(361)  评论(0)    收藏  举报

1.NSURLSession 内存泄漏

NSURLSession每次发送过一个请求之后,都需要调用一次[session finishTasksAndInvalidate];来防止内存泄漏。

参考链接:https://stackoverflow.com/questions/39409357/nsurlsession-http-2-memory-leak

示例代码:(参考链接 https://stackoverflow.com/questions/30106960/nsurlsession-memory-leak

NSURLSessionConfiguration* config = [NSURLSessionConfigurationdefaultSessionConfiguration];
NSURLSession* session = [NSURLSession sessionWithConfiguration:config];
NSURLRequest* request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://www.google.com"]];
NSURLSessionDataTask* sessionDataTask = [session dataTaskWithRequest:request
                                           completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
   // handle response...
}];
[sessionDataTask resume];
[session finishTasksAndInvalidate];