首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何修复AFNetworking 3.1中的内存泄漏?

如何修复AFNetworking 3.1中的内存泄漏?
EN

Stack Overflow用户
提问于 2016-07-11 19:53:08
回答 2查看 1.1K关注 0票数 0

我正在测试仪器中的应用程序,所以下面的代码会导致内存泄漏。请告诉我怎么修。

代码语言:javascript
复制
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];

AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc]initWithSessionConfiguration:configuration];
EN

回答 2

Stack Overflow用户

发布于 2017-11-21 07:36:08

我不知道我是不是来晚了,但我要为那些碰上这个的人负责。这是预期的行为。完成会话后,需要调用此invalidateSessionCancelingTasks:

代码语言:javascript
复制
NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
self.manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];

__weak typeof(self) welf = self;
[self.manager uploadTaskWithRequest:request fromFile:filePath progress:^(NSProgress * _Nonnull uploadProgress) {
    // progress block
} completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
    //Invalidate Session here
    [welf.manager invalidateSessionCancelingTasks:YES];
    // stuff needed to be done
}];
票数 1
EN

Stack Overflow用户

发布于 2016-07-11 20:03:43

你可以试试这段代码:

代码语言:javascript
复制
static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{

        NSURLSessionConfiguration *sessionConfiguration = [NSURLSessionConfiguration defaultSessionConfiguration];
        sessionConfiguration.HTTPMaximumConnectionsPerHost = 10;
         self.manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:sessionConfiguration];
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38306273

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档