OkHttpClient关闭连接

Wis*_*erd 11 java android okhttp

我想使用OkHttpClient加载网址,如果给定网址的网站以pdf内容类型响应,我将继续下载PDF,否则我想忽略响应.

我的问题是,我是否需要做一些特殊的事情来关闭请求/响应,或者如果我选择不读取响应字节流,我是否需要做任何事情来表明我不会使用响应?如果没有,OkHttpClient何时关闭连接?

Jes*_*son 26

呼叫response.body().close()将释放响应所持有的所有资源.连接池将保持连接打开,但如果它未使用,它将在超时后自动关闭.

  • 您也可以调用`response.close()`,根据文档,它等同于`response.body().close()`. (5认同)
  • 通常,您需要关闭响应.如果您将字节流读到最后,OkHttp将为您释放资源,但无论如何关闭它仍然是一个好习惯.如果取消请求,只需要调用`onResponse`即可关闭.如果没有,那么我们就足够早地取消它,没有什么可以关闭的. (3认同)