Okhttp3块程序

问题描述 投票:0回答:1

我正在使用的库是一个具有一些高级功能的文件

我的文件像:

import okhttp3.*

private val client by lazy { OkHttpClient() }


fun fn() {
    client.newCall(request(url)).enqueue(callback)
    do stuff ...
}
...

[当我调用某些fn()时,即使没有更多指令要执行,它也会继续在后台运行,阻止程序退出。我怀疑这是由于.enqueue(callback)是异步的。

kotlin asynchronous okhttp
1个回答
0
投票

如果升级到最新的OkHttp 4.7.2,则它不会阻塞程序,因为线程现在是守护程序线程。

清除关机记录在OkHttpClient的API文档中。

https://square.github.io/okhttp/4.x/okhttp/okhttp3/-ok-http-client/

client.dispatcher().executorService().shutdown();
client.connectionPool().evictAll();
© www.soinside.com 2019 - 2024. All rights reserved.