AFN引起的内存泄露问题
最近闲的没事分析了一下火眼的代码看看有没有内存泄露的问题
结果吓了一跳
一大堆红红的叉叉
内存泄露成一匹马了都
后来发现是[AFHTTPSessionManager manager]这个方法引起的
看了一下源码
这个方法内部会初始化一个NSURLSession并且把自己作为delegate传过去
问题就在这里
NSURLSession对delegate是强引用
所以manager没被释放
那么解决起来也很简单
AFHTTPSessionManager对finishTasksAndInvalidate跟invalidateAndCancel进行了封装
直接调用invalidateSessionCancelingTasks就行
当然必须要在回调执行完毕之后