如何让 Glide 保持连接?

How to make Glide keep connection alive?

我正在使用 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 保持连接以提高性能?

尝试使用自定义连接池设置 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()))
    }
}

这些是默认值,但您可以找到适合您的值。