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

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

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

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


使用instruments检查的

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

这里写图片描述

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

这里写图片描述

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

1.请求

这里写图片描述

2.请求封装
这里写图片描述

3.对请求队列管理者AFHTTPSessionManager继承
这里写图片描述

4.创建单例方法
这里写图片描述

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


这里写图片描述

这里写图片描述

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


这里写图片描述
公司的项目.png

    公司的项目,求支持,如果发现什么问题,可以留言反应,感激不尽    

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

推荐阅读更多精彩内容