美文网首页小知识点iOS开发好东西
iOS关于AFNetworking使用发现内存泄漏以及解决

iOS关于AFNetworking使用发现内存泄漏以及解决

作者: HurryUpCheng | 来源:发表于2017-11-25 09:01 被阅读243次

    关于AFNetworking使用发现内存泄漏以及解决

    众所周知,使用一些第三方的时候,程序猿都会对第三方进行一层封装,使第三方与我们的代码隔离,当有修改的时候我们只需要在自己封装的文件上做修改,这样减少了第三方代码的入侵和方便修改。

    最新的项目也是一如既往的对AFNetworking进行了封装,因为之前的都是小项目,并且也是菜鸟阶段,当然现在依然也是菜鸟,所以没有关注过内存问题,这个项目因为是购买的源码,所以存在很多问题,经常会内存飙升,所以用上了没用过的instruments,检查了下内存泄漏,不看不知道,发现各种泄漏


    使用instruments检查的

    查看了一下内存泄漏的地方,发现自己封装的请求有内存泄漏

    这里写图片描述

    继续往下查看发现是AFNetworking内部泄漏

    这里写图片描述

    百度了好久,也很难找到这类的问题,于是我去github看了下AFNetworking,并且再次把代码下载下来看了下,如下图

    1.请求

    这里写图片描述
    2.请求封装
    这里写图片描述
    3.对请求队列管理者AFHTTPSessionManager继承
    这里写图片描述
    4.创建单例方法
    这里写图片描述

    于是我也学者使用单利来创建AFHTTPSessionManager


    这里写图片描述
    这里写图片描述

    然后运行instruments,检查下内存,就会发现AFNetworing之前泄漏的地方不再泄露了


    这里写图片描述

    相关文章

      网友评论

        本文标题:iOS关于AFNetworking使用发现内存泄漏以及解决

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