OkHttpClient
每个请求都会存在一个客户端对象, 既OkHttpClient
Net在全局维护了一个OkHttpClient对象, 在NetConfig.okHttpClient的字段
object NetConfig {
var okHttpClient: OkHttpClient
}
当然也支持创建一个新的客户端来发起请求(配置区别于全局客户端)
全局OkHttpClient¶
NetConfig.init("http://github.com/") {
// 此处this即为OkHttpClient.Builder
}
单例OkHttpClient¶
每个请求可能存在独立的OkHttpClient配置, 我们可以单例配置客户端选项
- 在全局的OkHttpClient配置基础下修改
scopeNetLife {
tv_response.text = Get<String>("https://github.com/") {
setClient {
// 此处this即为OkHttpClient.Builder
trustCertificate()
}
}.await()
}
- 完全重新创建一个OkHttpClient, 一般情况不推荐重新创建一个OkHttpClient, 因为一个新的OkHttpClient会重新创建线程池/连接池等造成内存消耗等
scopeNetLife {
tv_response.text = Get<String>("https://github.com/") {
okHttpClient = OkHttpClient.Builder().build()
}.await()
}