封装AFN使用导致内存泄漏

用instruments测试项目的时候发现内存泄漏了,点击一看都是AFN导致的,主要原因还是封装这个工具类时没有使用到单利

static JDNetworkTool *tool =nil;

@implementation JDNetworkTool

+(JDNetworkTool *)request{

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

if (tool==nil) {

tool = [[self alloc]init];

}

});

return tool;

}

AFHTTPSessionManager的这个类也要改成单利模式

-(AFHTTPSessionManager *)manager{

static  AFHTTPSessionManager *manager=nil;

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

if (manager==nil) {

manager = [AFHTTPSessionManager manager];

manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/plain"];

manager.requestSerializer.timeoutInterval=REQUESTTIMEOUT;

}

});

return manager;

}

这样就解决了调用afn导致内存泄漏的问题了

你可能感兴趣的:(封装AFN使用导致内存泄漏)