Square的Retrofit响应解析逻辑:流媒体?

Ser*_*gii 7 json android-networking retrofit

你能解释一下Square的Retrofit响应解析逻辑吗?我感兴趣的是我们应该接收并解析一个大的json(> 100Kb) - 将等待所有内容从服务器收到而不是解析它,或者它会在获取流数据时立即解析它吗?我的目标是加快响应处理速度.

有没有可供配置的选项?

Jak*_*ton 15

一旦HTTP客户端解析标题,InputStream将返回到Retrofit,然后将其直接交给Converter.这意味着当底层转换器机制(例如,Gson)正在拉动字节时,它们将直接从网络读取(并可能阻塞).

注意:仅当日志记录关闭时才会出现这种情况(因为它应该在生产/发布版本中).当打开日志超出HEADERS级别时,必须将响应主体全部读取到a byte[]中,以便将数据记录并传送到转换器.