美文网首页iOS Developer
有关AFN的内存问题

有关AFN的内存问题

作者: w佐w | 来源:发表于2017-03-03 10:05 被阅读85次

    通过Instrument检查到是由于AFNetworking这个库导致的内存泄漏,解决方法就是: 

    将AFHTTPSessionManager的实例使用单例模式获取。

    原先在网络请求类中获取AFHTTPSessionManager是通过如下方法

    AFHTTPSessionManager*manager = [[AFHTTPSessionManageralloc]initWithBaseURL:[NSURLURLWithString:@""]];

    此方法就是导致内存泄漏的罪魁祸首,所以需要用单例获取AFHTTPSessionManager对象。

    在AFHTTPSessionManager类中添加单例:

    staticAFHTTPSessionManager*manager;

    +(AFHTTPSessionManager*)sharedHttpSessionManager {

    staticdispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{

    manager = [AFHTTPSessionManagermanager];

    manager.requestSerializer.timeoutInterval=10.0;

    });

    returnmanager;

    }

    AFHTTPSessionManager*manager =[[AFHTTPSessionManagersharedHttpSessionManager]initWithBaseURL:[NSURLURLWithString:@""]];

    或AFHTTPSessionManager*manager = [类名 sharedHttpSessionManager];

    相关文章

      网友评论

        本文标题:有关AFN的内存问题

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