关于Glide各种问题的解决方案集合(不断更新)

本篇将讲述使用Glide时遇到的各种问题与解决

关于Glide各种问题的解决方案集合(不断更新)

本篇已Java为主要语言

Glide使用

  1. 添加依赖

    1
    2
    implementation 'com.github.bumptech.glide:glide:4.11.0'
    annotationProcessor 'com.github.bumptech.glide:compiler:4.11.0'

关于GlideModule的问题

  1. 在项目中创建一个class文件

  2. 继承AppGlideModule

  3. 添加注解@GlideModule

    1
    2
    3
    4
    @GlideModule
    public class MyGlideModule extends AppGlideModule {
    }

  4. 里面并不需要填写内容

替换Glide的请求方式

  1. 添加依赖

    1
    2
    implementation "com.github.bumptech.glide:okhttp3-integration:4.11.0"
    implementation 'com.squareup.okhttp3:okhttp:4.7.2'
  2. 在项目中创建一个class文件

  3. 继承AppGlideModule

  4. 添加注解@GlideModule

  5. 重写*registerComponents**isManifestParsingEnabled***方法

  6. 在**registerComponents**方法中替换为OkHttp

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    @GlideModule
    public class MyGlideModule extends AppGlideModule {
    @Override
    public void applyOptions(Context context, GlideBuilder builder) {

    }

    @Override
    public void registerComponents(Context context, @NotNull Glide glide, Registry registry) {
    //Glide 底层默认使用 HttpConnection 进行网络请求,这里替换为 Okhttp
    registry.replace(GlideUrl.class, InputStream.class, new OkHttpUrlLoader.Factory(ProgressManager.getInstance().with(new OkHttpClient.Builder()).build()));
    }

    @Override
    public boolean isManifestParsingEnabled() {
    return false;
    }
    }