xincc/CCRequest

CCRequest使用AFNetWorking,用法不当,有内存问题

Closed this issue · 3 comments

我查看了您写的代码,觉得Promises的使用方式非常好,但是在使用AFNetWorking时存在内存泄漏问题,

问题的关键就在这句代码,
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];

  • (instancetype)manager ; 通过这个方法生成的AFHTTPSessionManager对象并不是一个单例对象,每次网络请求都会生成一个AFHTTPSessionManager,AFHTTPSessionManager对象是不会自动释放的,所以造成了内存问题.
xincc commented

感谢您的细心,该问题已经修复
https://github.com/AFNetworking/AFNetworking/issues/2149
如果您想用manager做单例的话,可以直接更改源码 ^__^
不过考虑到CCRequest初衷是应对许多种业务场景,这里就不打算使用单例了

xincc commented

AFNetworking/AFNetworking#2149

xincc commented

代码已经提交 您再看下