gpt4 book ai didi

android - 如何使用 Okhttp3 和 GlideV4 设置超时?

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:45 25 4
gpt4 key购买 nike

我正在使用 glide v4 和 okhttp3 与 glide 的集成。我想改变它的超时时间。怎么做?通过扩展 AppGlideModule 还是有任何其他方式?我已经搜索了适当的文档,但在任何地方都找不到。

最佳答案

您可以通过创建一个类来更改超时,该类扩展 AppGlideModule 并具有注释 @GlideModule。然后重写 registerComponents 方法,并在其中创建一个新的 OkHttpClient,您可以使用它来控制 Glide 请求超时。

首先,您应该在 build.gradle 文件中添加 GlideOkHttp3 Glide Integration 库 gradle 依赖项:

compile 'com.github.bumptech.glide:glide:4.2.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.2.0'
compile("com.github.bumptech.glide:okhttp3-integration:4.2.0") {
exclude group: 'glide-parent'
}

二、自定义GlideAppModule类的示例代码:

@GlideModule
public class MyGlideAppModule extends AppGlideModule {
@Override
public void registerComponents(Context context, Glide glide, Registry registry) {
OkHttpClient client = new OkHttpClient.Builder()
.connectTimeout(20, TimeUnit.SECONDS)
.readTimeout(20, TimeUnit.SECONDS)
.build();

OkHttpUrlLoader.Factory factory = new OkHttpUrlLoader.Factory(client);
glide.getRegistry().replace(GlideUrl.class, InputStream.class, factory);
}
}

归功于 Amir Ziarati提供解决方案!

另请参阅 this article关于使用模块进行 Glide 自定义的更多信息,了解 Glide 3.xGlide 4.x 之间的差异。

关于android - 如何使用 Okhttp3 和 GlideV4 设置超时?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45767214/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com