我的Android应用使用Jsoup连接到网站
implementation group: 'org.jsoup', name: 'jsoup', version: '1.11.2'
我的logcat有这些消息
OkHttpClient: A connection to http://www.xxx.yyy.zzz/ was leaked. Did you forget to close a response body?
我的jsoup连接类似于: -
final Document feedNavigator = Jsoup.connect(uri.toString()).referrer(JSOUP_REFERRER).userAgent(USER_AGENT).followRedirects(true).ignoreContentType(true).ignoreHttpErrors(true).maxBodySize(JSOUP_MAX_BODY_SIZE).timeout(JSOUP_TIMEOUT).get();
我的印象是jsoup处理了自己的资源。
为什么我会收到这些logcat警告?
我该如何解决这个漏洞?
答案 0 :(得分:0)
在 Kotlin 中我是这样使用的:
try {
val req: Request = Request.Builder().url(url).get().build()
val client = OkHttpClient()
val resp: Response = client.newCall(req).execute()
val code: Int = resp.code() // can be any value
body= resp.body()
if (code == 200) {
body?.close() // I close it explicitly
}