我曾经像这样创建 OkHttp 客户端:
new OkHttpClient.Builder().connectionPool(connectionPool)
.readTimeout(Duration.ofSeconds(timeout))
.connectTimeout(Duration.ofMillis(timeout))
.addInterceptor(logging)
.build();
但是现在我收到了关于
connectionPool
是 kotlin 内部的警告(我从 java 使用它)。
似乎与升级到OkHttp 4有关。
我应该忘记池并让 OkHttp 处理它吗?
如果我在我的应用程序中创建许多 OkHttpClient。如果我不配置池,他们会使用相同的池,还是每个客户端都有自己的池?我有一个应用程序具有许多不同的 HTTP 连接使用场景。
OkHttp
如果可能的话,将重用现有连接。
来自文档:
每个OkHttpClient都使用一个连接池。它的工作是维护对所有打开连接的引用。 当 HTTP 请求启动时,OkHttp 将尝试重用池中的现有连接。如果没有现有连接,则会创建一个新连接并将其放入连接池中。