内存泄漏的各种情况

1.AFNetworking中的内存泄漏

AFNetworking中的AFURLSessionManager、AFSecurityPolicy、AFJSONResponseSerializer的内存泄漏:我们的项目内存检测时,发现AFNetworking中的AFURLSessionManager、AFSecurityPolicy、AFJSONResponseSerializer存在内存泄漏。

一般iOS开发者会把AFNetworking再封装一个网络请求单例,NetworkManager, 我们的项目也是这样,这样一般是不会出现内存泄漏的,后来我们发现内存泄漏后就在全局搜索AFURLSessionManager。发现原来是以前的同事在一个下载文件的地方没用封装的网络请求单例,而是直接写了请求如下图


这是因为AFURLSessionManager中的session没有释放掉导致AFURLSessionManager没有释放,

其实这样单独使用也没什么,因为afnetworking其实已经给了一个释放方法,只是我们不知道去用而已:

[manager.session invalidateAndCancel];

在请求结束后,用这句话释放掉就可以了。


参考文章:https://blog.csdn.net/mlcldh/article/details/79913996

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,693评论 8 265
  • Android 内存泄漏总结 内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏...
    apkcore阅读 1,247评论 2 7
  • 内存管理的目的就是让我们在开发中怎么有效的避免我们的应用出现内存泄漏的问题。内存泄漏大家都不陌生了,简单粗俗的讲,...
    DreamFish阅读 812评论 0 5
  • 接昨天儿子做作业后续…… 本以为昨天为儿子做作业发脾气,他也就像以前一样左耳进右耳出的,这次他竟然没有哦,他自己用...
    露露空间阅读 191评论 0 1