Square 的 Retrofit 响应解析逻辑:流式传输?

Square's Retrofit response parsing logic: streaming?

请您解释一下Square 的Retrofit 响应解析逻辑。 我对什么时候应该接收并解析一个大 json (>100Kb) 的情况很感兴趣——Retrofit 会等待所有内容从服务器接收并且只解析它,或者它会立即开始解析它获取流数据? 我的目标是加快响应处理速度。

是否有任何可配置的选项?

一旦 HTTP 客户端解析 headers,InputStream 将被交回给 Retrofit,然后 Retrofit 将其直接交给 Converter。这意味着当底层转换器机制(比如 Gson)正在提取字节时,它们会直接从网络中读取(并可能阻塞)。

注意:只有在关闭日志记录时才会出现这种情况(因为它应该在生产/发布版本中)。当日志记录打开超过 HEADERS 级别时,必须将响应 body 完整读入 byte[] 以便记录数据并将数据传递给转换器。