我正在使用Android Glide库远程加载图像。
图像URL协议为https
,因此每次建立新连接时,由于TSL的存在,对性能都有影响。
我正在使用okhttp集成:
def glide_version = "4.10.0"
implementation "com.github.bumptech.glide:glide:$glide_version"
implementation "com.github.bumptech.glide:okhttp3-integration:$glide_version"
是否可以使Glide使连接保持活动状态以获得更好的性能?
答案 0 :(得分:2)
尝试使用自定义ConnectionPool设置HTTP客户端。看一下连接池的构造函数:
public ConnectionPool(int maxIdleConnections, long keepAliveDuration, TimeUnit timeUnit)
因此您可以尝试以下操作:
@GlideModule
class YourGlideModule : AppGlideModule() {
override fun registerComponents(context: Context, glide: Glide, registry: Registry) {
registry
.replace(
GlideUrl::class.java,
InputStream::class.java,
OkHttpUrlLoader.Factory(
OkHttpClient.Builder()
.connectionPool(ConnectionPool(5, 5, TimeUnit.MINUTES))
.build()))
}
}
这些是默认值,但是您可以找到适合自己的值。