NSURLSession内存泄漏(NSURLSessionConfiguration leaking)

NSURLSession的用法:

  • NSURLSession对象是长期存在的。
  • 一个常见的使用模式是在app启动时创建一个单例,并且在应用程序的生命周期内持有它。
  • 为每个请求新建一个NSURLSession对象是没有必要的,且效率低下的。

上面的用法是最优的,但并不是说你在项目中不能创建多个NSURLSession对象,在一些情况下创建多个NSURLSession对象是完全合理且必要的。但是绝对不推荐为每个请求新建一个NSURLSession对象。

session API的目标是为每个不同逻辑的请求类型新建一个NSURLSession对象。例如:
  • 应用程序中不同的子系统(第三方SDK/开源库)可能会使用它们自己的NSURLSession对象。
  • web浏览器可能会为每个私有浏览选项卡新建一个NSURLSession对象。
  • 邮件类应用可能会为每个账号新建一个NSURLSession对象,因为这样可以控制TLS版本号。
  • 你可能用一个单独的NSURLSession对象处理多个TLS标识。
  • 你可能为普通请求新建一个标准的NSURLSession对象,以及为大型下载任务新建一个background NSURLSession对象。

所有这些都是在一个应用中使用多个NSURLSession对象的完美例子。

重要的事情说三遍,为每个请求新建一个NSURLSession对象是没有必要的,且效率低下的,是绝对不推荐的。

NSURLSessionConfiguration leaking

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,797评论 19 139
  • 从三月份找实习到现在,面了一些公司,挂了不少,但最终还是拿到小米、百度、阿里、京东、新浪、CVTE、乐视家的研发岗...
    时芥蓝阅读 42,473评论 11 349
  • NSURLSession类以及相关类为通过HTTP下载资源提供了一个API.这个API提供了一系列丰富的代理集合,...
    郭苒阅读 4,652评论 0 9
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,387评论 30 472
  • NSURLSession及其相关的类提供了通过HTTP下载内容的API。这个类提供了丰富的委托方法来支持验证、以及...
    raingu24阅读 3,994评论 0 0