不要急,不要怕

leaks下AFN大量爆红

leaks是Xcode的Instruments里面有一个Leaks工具,可以帮助你定位发生内存泄漏的代码段,以便修复问题。是一个非常好用的工具。使用方法(更详细的自行百度或点这里):
1.先点开这个
1.先点开这个

2.然后选择了这个
2.然后选择了这个
3.点击到旁边的设置,把这几个点了
3.点击到旁边的设置,把这几个点了
4.选择设备,点击红点运行
4.选择设备,点击红点运行
5.上边点击到leaks,在把2点到call Tree看效果
5.上边点击到leaks,在把2点到call Tree看效果
爆红的话直接双击上图的代码,一般就会跳到对应的泄漏代码段,但是如果是跳到了汇编语言是什么鬼呢?(我也不知道,,,)
上图运行结果发现大部分都是AFN内存泄漏。。

解决办法:

这位大哥说的很详细,我就是按他的办法来的
详细方法:点击这个函数
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
以前是这样的:
+ (instancetype)manager { return [[[self class] alloc] initWithBaseURL:nil]; }
然后我把它改成了这样的:
+ (instancetype)manager { //wq瞎j8改,把它改成单例 static AFHTTPSessionManager *manager = nil; static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ if (manager == nil) { manager = [[[self class] alloc] initWithBaseURL:nil]; } }); return manager; }

嗯,AFN果然没啦!
结果

ps:暂时没有发现有什么问题,测试几天看看。