我正在使用的库是一个具有一些高级功能的文件
我的文件像:
import okhttp3.*
private val client by lazy { OkHttpClient() }
fun fn() {
client.newCall(request(url)).enqueue(callback)
do stuff ...
}
...
[当我调用某些fn()
时,即使没有更多指令要执行,它也会继续在后台运行,阻止程序退出。我怀疑这是由于.enqueue(callback)
是异步的。
如果升级到最新的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();