首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >何时调用response.body().close()

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

Stack Overflow用户
提问于 2015-08-18 18:34:45
回答 1查看 21.6K关注 0票数 19

我有一个使用OkHttp的Android。在我使用我的SDK的示例应用程序中,一切都很好。然而,当StrictMode打开时,我的一个用户将获得以下java.lang.Throwable: Explicit termination method 'close' not called。我已经尝试过在我自己的应用程序中复制StrictMode,但是没有得到这个错误。

我知道我应该打电话给response.body().close(),但我仍然有点困惑,为什么我的应用程序没有发生这种情况。他发送给我的堆栈跟踪中只有我的类,所以他的代码中没有任何东西会导致这种情况。

另外值得注意的是,我的SDK发出的请求中只有一个实际上读取了响应。但这不是我的用户说是导致异常的请求。

还有什么能导致这件事的吗?

我什么时候打电话给.close()?在调用execute()之后立即调用它是明智的吗?关闭身体会不会阻止人们在未来阅读?

EN

回答 1

Stack Overflow用户

发布于 2015-08-18 19:20:25

你应该一直打电话给close()。来自奥赫特氏源

调用方可以使用响应的Response.body()方法读取响应体。为便于连接回收,呼叫者应始终关闭响应体。

您可能应该在从响应中获得所需的信息之后立即打电话给close()。将其存储在变量中,然后关闭ResponseBody

票数 23
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32080181

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档