何时调用response.body()。close()

我有一个使用OkHttp的Android SDK。 在我的示例应用程序使用我的SDK一切工作正常。 然而,我的一个用户,当StrictMode打开时,得到以下的java.lang.Throwable: Explicit termination method 'close' not called 。 我已经尝试在我自己的应用程序与StrictMode复制这个,不要得到这个错误。

我明白,我应该调用response.body().close()但我仍然有点困惑,为什么这不是在我的应用程序中发生。 他发给我的堆栈跟踪只有我的类,所以它似乎没有任何东西在他的代码造成的。

另外值得注意的是,只有一个请求我的SDK实际上有响应读取。 但是这不是我的用户所说的引起exception的请求。

还有什么可能导致这个?

什么时候应该调用.close() ? 调用execute()后立即调用它是可取的吗? closures身体会阻止它在未来被阅读吗?

Solutions Collecting From Web of "何时调用response.body()。close()"