AFNetworking内存泄露问题

利用Xcode内存监测工具, 经常会看到AFN的内存泄露问题, 苦于找不到解决方案, 后来翻看源码, 又百度了一波, 才找到原因:

NSURLSession 里面有这两个方法:

  1. invalidateAndCancel失效(取消未完成任务)
  2. finishTasksAndInvalidate(允许任务完成之前无效的对象)

对应的AFN里有这样一个方法:

1
- (void)invalidateSessionCancelingTasks:(BOOL)cancelPendingTasks;

YES 使Manager立即失效并取消task;

NO 会在task请求结束之后使manager失效;

是不是发现自己从来没有写过这个方法, 赶快加上吧!

看到这就是真爱,打个赏呗~