小知识点iOS开发好东西

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

2017-11-25  本文已影响243人  HurryUpCheng

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

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

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


使用instruments检查的

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

这里写图片描述

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

这里写图片描述

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

1.请求

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

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


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

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


这里写图片描述
上一篇下一篇

猜你喜欢

热点阅读