Ios URLSession对象是资源密集型的吗?

Ios URLSession对象是资源密集型的吗?,ios,swift,macos,urlsession,Ios,Swift,Macos,Urlsession,为每个web请求创建一个新的URLSession是否会占用大量资源 一些背景: 我在一个图书馆里工作,用来做网络请求。我正在尝试添加一个功能,允许将结果下载到一个文件中,该文件也会报告其进度。为此,我必须成为会议的代表 这不会有什么大不了的,除非公共接口允许定制用于请求的URLSession。我不想覆盖开发人员想要用自己的委托进行的任何定制 现在,我认为这样做的方法是秘密地复制他们认为正在使用的会话(是的,我要做的不仅仅是复制对象本身),然后我的内部代表会调用原始公共会话的方法。如果他们试图在请

为每个web请求创建一个新的URLSession是否会占用大量资源

一些背景:

我在一个图书馆里工作,用来做网络请求。我正在尝试添加一个功能,允许将结果下载到一个文件中,该文件也会报告其进度。为此,我必须成为会议的代表

这不会有什么大不了的,除非公共接口允许定制用于请求的URLSession。我不想覆盖开发人员想要用自己的委托进行的任何定制

现在,我认为这样做的方法是秘密地复制他们认为正在使用的会话(是的,我要做的不仅仅是复制对象本身),然后我的内部代表会调用原始公共会话的方法。如果他们试图在请求期间操纵会话,仍然可能会出现混乱/问题,但这似乎是一个小得多的边缘情况


我现在唯一担心的是,如果有很多请求,这可能会占用大量资源。有人对此有感觉吗?

是的,他们很紧张。这里有一段引用自

这是一种常见的反模式,我们专门 今年在世界野生动物保护中心受到警告。为每个请求创建会话 在CPU上,更重要的是,在网络上,效率都很低。 具体地说,它防止了连接重用,这会从根本上降低速度 下载背对背的请求。这对于HTTP/2来说尤其糟糕。我们 鼓励员工在一次会议中分组所有类似的任务,使用 仅当具有不同的任务集时,才可以使用多个会话 不同的需求(如交互任务与背景) 下载任务)。这意味着许多简单的应用程序都可以逃脱惩罚 使用单个静态分配的会话


是的,它们是密集型的。这里有一段引用自

这是一种常见的反模式,我们专门 今年在世界野生动物保护中心受到警告。为每个请求创建会话 在CPU上,更重要的是,在网络上,效率都很低。 具体地说,它防止了连接重用,这会从根本上降低速度 下载背对背的请求。这对于HTTP/2来说尤其糟糕。我们 鼓励员工在一次会议中分组所有类似的任务,使用 仅当具有不同的任务集时,才可以使用多个会话 不同的需求(如交互任务与背景) 下载任务)。这意味着许多简单的应用程序都可以逃脱惩罚 使用单个静态分配的会话