[AFHTTPSessionManager manager]内存泄漏问题

最近研究instruments 的 leak 功能时候,检测到

AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

这句代码有内存泄漏的问题,一直追溯代码发现


这个delegate的修饰符用的是retain

发现delegate的修饰符是retain,所以创建的self.session这个变量永远不会被销毁,从而导致AFHTTPSessionManager 这个类不会被销毁,苹果官方有给出相应的解决方法

1.手动释放
在success和failure的block中调用

[manager.session finishTasksAndInvalidate];

请求结束之后手动释放session

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,798评论 1 32
  • OC语言基础 1.类与对象 类方法 OC的类方法只有2种:静态方法和实例方法两种 在OC中,只要方法声明在@int...
    奇异果好补阅读 9,792评论 0 11
  • C语言相关面试题 1.static有什么用途? 答案:在C语言中,static主要定义全局静态变量,定义局部静态变...
    Leeson1989阅读 6,820评论 0 20
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,327评论 30 472
  • 内存管理 简述OC中内存管理机制。与retain配对使用的方法是dealloc还是release,为什么?需要与a...
    丶逐渐阅读 6,052评论 1 16