美文网首页
关于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