利用Xcode内存监测工具, 经常会看到AFN的内存泄露问题, 苦于找不到解决方案, 后来翻看源码, 又百度了一波, 才找到原因:
NSURLSession 里面有这两个方法:
对应的AFN里有这样一个方法:
1 | - (void)invalidateSessionCancelingTasks:(BOOL)cancelPendingTasks; |
YES 使Manager立即失效并取消task;
NO 会在task请求结束之后使manager失效;
是不是发现自己从来没有写过这个方法, 赶快加上吧!