[iOS] AFNetworking3内存泄露

最近由于项目需求升级到AFN3,使用Instruments做内存泄漏分析时发现每个请求都有内存泄漏,调查发现原来是

AFHTTPSessionManager多次创建却不能释放掉

于是将其写入单例, 问题解决

static AFHTTPSessionManager *manager;

+ (id)shareInstance //获取网络请求单例
{
    static NetworkHelper *helper;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        if (helper == nil)
        {
            helper = [[NetworkHelper alloc] init];
            
            manager = [AFHTTPSessionManager manager];
            manager.requestSerializer = [AFJSONRequestSerializer serializer];
            manager.responseSerializer = [AFHTTPResponseSerializer serializer];
            manager.requestSerializer.timeoutInterval = 10;
            [manager.responseSerializer setAcceptableContentTypes: [NSSet setWithObjects:@"application/json", @"text/json", @"text/javascript",@"text/html",@"text/css", nil]];
        }
    });
    return helper;


你可能感兴趣的:([iOS] AFNetworking3内存泄露)