OkHttp GET和阅读身体时阻塞的可能性

时间:2015-09-16 20:25:11

标签: okhttp

OkHttp的recipes page表示在发出异步请求时

  

在响应标头准备就绪后进行回调。阅读回复正文可能仍会阻止。

在什么条件下读取响应体块?阻止的可能性是否打败了进行异步调用的全部目的?

对于那些使用过OkHttp的人,你是如何处理阻止的?

  1. 忽略它。
  2. 使用同步请求并使其自身异步,例如AsyncTask
  3. 停止浪费时间并使用其他HTTP库。
  4. ???

1 个答案:

答案 0 :(得分:2)

  

在什么条件下读取响应体块?

在读取使用的2k块大小的标题后,当主体大于剩余空间时。

  

阻止的可能性是否打败了进行异步调用的全部目的?

没有。没有人想编写处理字节处理的异步代码。

收到回复后,我们会以阻止的方式向您提供从中读取数据的来源。阻止IO代码更容易阅读,编写和推理,并且此空间中的大多数库(如Gson)都设置为阻止读取。

  

对于那些使用过OkHttp的人,你是如何处理阻止的?

您只需对正文数据进行阻止读取,然后在完成后通过您想要的任何机制通知应用程序代码。

你提到AsyncTask让你看起来像是在Android上。回调不会发生在主线程上,因此阻塞IO并不重要。