本篇将讲述使用Glide时遇到的各种问题与解决
关于Glide各种问题的解决方案集合(不断更新)
本篇已Java为主要语言
Glide使用
-
1
2implementation 'com.github.bumptech.glide:glide:4.11.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'
关于GlideModule的问题
在项目中创建一个class文件
继承AppGlideModule
添加注解@GlideModule
1
2
3
4
public class MyGlideModule extends AppGlideModule {
}里面并不需要填写内容
替换Glide的请求方式
添加依赖
1
2implementation "com.github.bumptech.glide:okhttp3-integration:4.11.0"
implementation 'com.squareup.okhttp3:okhttp:4.7.2'在项目中创建一个class文件
继承AppGlideModule
添加注解@GlideModule
重写*registerComponents**和isManifestParsingEnabled***方法
在**registerComponents**方法中替换为OkHttp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
public class MyGlideModule extends AppGlideModule {
public void applyOptions(Context context, GlideBuilder builder) {
}
public void registerComponents(Context context, Glide glide, Registry registry){
//Glide 底层默认使用 HttpConnection 进行网络请求,这里替换为 Okhttp
registry.replace(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(ProgressManager.getInstance().with(new OkHttpClient.Builder()).build()));
}
public boolean isManifestParsingEnabled() {
return false;
}
}