这里写自定义目录标题
GlideModule过时使用AppGlideModule
在自定义GldieModule时,使用GlideModule提示过时了,
* @deprecated Libraries should use {@link LibraryGlideModule} and Applications should use
* {@link AppGlideModule}.
那我们就使用AppGlideModule,去网上搜一下怎么配置的
按照这个来配置
运行发现报了下面的错。注意:下面所有的xxx是为了屏蔽包名
Caused by: java.lang.RuntimeException: Expected instanceof GlideModule, but found: com.xxx.utils.MyGlideModule@e74f701
at com.bumptech.glide.module.ManifestParser.parseModule(ManifestParser.java:87)
at com.bumptech.glide.module.ManifestParser.parse(ManifestParser.java:47)
at com.bumptech.glide.Glide.initializeGlide(Glide.java:232)
at com.bumptech.glide.Glide.initializeGlide(Glide.java:223)
at com.bumptech.glide.Glide.checkAndInitializeGlide(Glide.java:184)
at com.bumptech.glide.Glide.get(Glide.java:168)
at com.bumptech.glide.Glide.getRetriever(Glide.java:689)
at com.bumptech.glide.Glide.with(Glide.java:716)
at com.xxxx.guide.WelcomeActivity.initView(WelcomeActivity.java:116)
at com.xxxx.WelcomeActivity.onCreate(WelcomeActivity.java:102)
去网上搜了一下,说开了混淆引起的,我这里没开混淆肯定不是这个原因。
不知道怎么想的,随便改了一下,把manifest中,GlideModule改成AppGlideModule就好了;
MyGlideModule继承AppGlideModule ,自然manifest中要用AppGlideModule,这样应该解释的通吧。哈哈
<meta-data
android:name="com.xxx.utils.MyGlideModule"
android:value="GlideModule"/>
变成下面这样
<meta-data
android:name="com.xx.utils.MyGlideModule"
android:value="AppGlideModule"/>
最后附上MyGlideModule
代码
public class MyGlideModule extends AppGlideModule {
@Override
public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
super.applyOptions(context, builder);
//省略代码.......
}
@Override
public boolean isManifestParsingEnabled() {
return false;
}
}