用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导致内存泄漏的问题了