共享 URLSession和默认配置的 URLSession有什么区别?
在我的应用程序中,我使用URLSession.shared向服务器发送请求。现在我试图将其更改为URLSession.init(configuration: URLSessionConfiguration.default)。
但如果我使用URLSession.init(configuration: URLSessionConfiguration.default)我的所有请求都需要更多时间来加载。
与URLSession.shared相比,URLSession.init(configuration: URLSessionConfiguration.default)需要更多时间来加载请求。(共享会话比默认配置的 URLSession 快 5 到 10 倍)。
这两种方法有什么区别?
为什么默认配置的 URLSession 需要更多时间来加载请求?
小智 6
换句话说,如果您\xe2\x80\x99 使用缓存、cookie、身份验证或自定义网络协议执行任何操作,您可能应该使用默认会话而不是共享会话。
\n\n欲了解更多信息:https ://developer.apple.com/documentation/foundation/urlsession/1409000-shared
\n小智 2
URLSession 有一个用于基本请求的单例共享会话(没有配置对象)。它\xe2\x80\x99 不像您创建的会话那样可定制,但如果您的要求非常有限,它可以作为一个很好的起点。URLSession.shared 是已经创建的对象,不需要额外的时间进行配置,问题是默认超时的默认值
\n\n对我来说,最佳实践之一是创建 URLsession 的共享实例并将其用于多个任务。不需要开销配置,因为通常您需要对 api 进行相同的配置。\n这样做的好处是我只需创建会话一次,这样就可以节省相同代码的重复以及每次再次初始化相同内容的过程。 API 请求。如果您需要对会话进行更多自定义配置,这将更有帮助。
\n| 归档时间: |
|
| 查看次数: |
4550 次 |
| 最近记录: |