美文网首页
关于AFNetworking3.0中AFHTTPSessionM

关于AFNetworking3.0中AFHTTPSessionM

作者: 大江哥哥 | 来源:发表于2017-05-18 10:15 被阅读0次

在使用Xcode的Leaks时,一进程序就出现了泄漏.....打击不小。后来定位到是因为


定位错误的位置

心想,AFN的单例也报错,这怎么改?
于是Google,找到这篇文章使用AFNetworking 3 内存泄露

说是ARC机制中,SessionManager没创建但是没有地方释放。解决方法就是讲SessionManager改为单例即可。但是单例也会一直存在,没有泄露但是却占用内存。
觉得可以将AFHTTPSessionManager的类方法改为单例.....(菜鸟个人理解)


这是我解决部分代码,就是改个单例

+ (instancetype)sharedManager {
    static AFNRequest *afnManager;
    static dispatch_once_t onceToken;
    dispatch_once(&onceToken, ^{
        afnManager = [[self alloc] init];
        AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
        manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
        manager.responseSerializer = [AFHTTPResponseSerializer serializer];
        manager.requestSerializer.timeoutInterval = 10.f;
        afnManager.manager = manager;
    });
    return afnManager;
}

相关文章

网友评论

      本文标题:关于AFNetworking3.0中AFHTTPSessionM

      本文链接:https://www.haomeiwen.com/subject/ckfsxxtx.html