如何让 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()))
}
}
这些是默认值,但您可以找到适合您的值。
我正在使用 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()))
}
}
这些是默认值,但您可以找到适合您的值。