今天第一次使用okhttp,因为接口没有告知返回的json格式,只好debug自己看返回的串,结果初次使用直接崩溃了
错误提示java.lang.IllegalStateException: closed
原因在网上查到是因为
OkHttp请求回调中response.body().string()只能有效调用一次,调用response.body().string()的时候数据流已经关闭了,再次调用就是提示已经closed
但是无论怎么看代码,我都只调用了一次
这他娘的就奇了怪了,于是继续查,在这篇
Okhttp 使用与debug时留的大坑
里面找到了原因
原来是因为我
在debug的时候添加了Watchs,就是代码的监视,这里会调用一次response.body().string()。
后面需要注意,代码调试的时候表达式的监视有时候会影响代码的运行。
参考: