技术标签: AppGlideModule LibraryGlideModules 【Android报错信息归纳】 GlideModule GlideApp Glide
You should include an annotationProcessor compile dependency on com.github.bumptech.glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored
大概意思就是说,在使用Glide的时候,自定义GlideModule来进行缓存和位置设置的时候,要用AppGlideModule来代替之前的GlideModule。我最近将应用依赖的Glide版本进行了升级,由4.1.1升到了4.9.0,然后运行时报出了这个错误。
我把之前MyGlideModule implements GlideModule 的逻辑,改成了MyGlideModule extends AppGlideModul,并在类上加了@GlideModule注解,其他的逻辑没有变化。
修改前:
public class MyGlideModule implements GlideModule {
@Override
public void applyOptions(Context context, GlideBuilder builder) {
builder.setDiskCache(new ExternalCacheDiskCacheFactory(context , AppConstants.DefaultSetting.SET_DISK_CACHE_IMAGE_FLAG , (int) AppConstants.DefaultSetting.SET_IMAGE_MAX_DISK_CACHE_SIZE));
}
@Override
public void registerComponents(Context context, Glide glide, Registry registry) {}
}
修改后:
@GlideModule
public class MyGlideModule extends AppGlideModule {
/**
* 设置清单解析,设置为false,避免添加相同的modules两次
* @return
*/
@Override
public boolean isManifestParsingEnabled() {
return false;
}
@Override
public void applyOptions(@NonNull Context context, @NonNull GlideBuilder builder) {
builder.setDiskCache(new ExternalPreferredCacheDiskCacheFactory(context , AppConstants.DefaultSetting.SET_DISK_CACHE_IMAGE_FLAG , (int) AppConstants.DefaultSetting.SET_IMAGE_MAX_DISK_CACHE_SIZE));
super.applyOptions(context, builder);
}
@Override
public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {}
}
修改完后再运行,报出如下错误:You cannot call Glide.get() in registerComponents(), use the provided Glide instance instead
意思就是说,Glide的调用方法有误,于是我去查看了Glide的相关文档,发现Glide之前通过apply来设置占位图和缓存策略,现在通过GlideApp直接调用,像之前的写法就会出问题。
修改前:
Glide.with(mContext)
.load(logoUrl)
.apply( new RequestOptions().error(defaultResId).skipMemoryCache(true))
.into(imageView);
修改后:
GlideApp.with(mContext)
.load(logoUrl)
.error(defaultResId)
.skipMemoryCache(true)
.into(imageView);
写在前面课程作业需要,于是忙活好几天抄了一个简单的记事本,使用已学内容包括Android UI布局,Activity的跳转,SQLite数据库。开发环境:Android Studio参考:https://blog.csdn.net/zouguo1211/article/details/83474845源码链接:https://github.com/zsy0216/Notepad...
Python入门基础篇 No.12 —— 转义字符_字符串拼接_字符串复制_input()文章目录Python入门基础篇 No.12 —— 转义字符_字符串拼接_字符串复制_input()前言一、转义字符二、字符串拼接三、字符串复制四、不换行打印五、从控制台读取字符串总结前言一、转义字符我们可以使用“ \ + 特殊字符”,实现某些难以用字符表示的效果。\ (在行尾时) ; 续行符\ \ ; 反斜杠符号\ ’ ; 单引号\ " ; 双引号\b
微信中的录音功能 demo资源下载此资源下载价格为3D币,请先登录资源文件列表weixin_Record/res/values-v11/styles.xml,324weixin_Record/res/drawable-xhdpi/chatto_bg_focused.9.png,2336weixin_Record/res/drawable-xhdpi/ic_launcher.png,12...
nerf论文翻译与学习。NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis
Debug : 在单独运行时,往往需要编译器提供一些库文件Release : 可以在没有安装visual c++的computer上正常运行 常规设置1)在共享DLL中使用MFC : 表示把程序中用到的MFC类库作为动态链接库,这样编译生成器的程序比较小,但是在运行的时候,需要操作系统提供额外的动态库支持。2)在静态库中使用MFC : 表示把用到的MFC类的内容作为静态
python -V3.7numpy -V 1.17背景继上一篇学完矩阵的索引、取某行某列元素、多维矩阵转为一行数列,本文继续学习矩阵的合并。1、两个矩阵上下合并,用vertical stack,函数就是vstackimport numpy as np# 矩阵的合并,用vertical stack,上下合并A = np.array([1,1,1])B = np.array([2,2...
作用:1)、数据迁移;2)、测试表的性能(eg:数据多时的执行sql效率等)。1、查看需要复制的表的相关信息2、复制表结构create table 新表like旧表; 如果不在同一个数据库,记得使用数据库名.旧表;另外,还有复制表结构和数据的sql,但是与上面语句的执行结果是存在差异的。只复制表结构到新表:create table 新表 select * fro...
uni-app微信小程序单个页面横屏以及使用uni-datetime-picker、popup出现弹窗后还能滚动页面的问题。catchtouchmove以及pageOrientation属性
用border-radius属性来设置圆角可以写:四个值:左上 右上 右下 左下三个值:左上 右上左下 右下两个值:左上右下 右上左下一个值:共用给单独一角设置圆角:border-xxx-xxx-radius例如:左上角 border-top-left-radius div{ width: 100px; height: 100px; background-color: red...
ios中UIScrollView能很好的实现放大缩小功能,在anroid这里,scrollview并不能很好的支持放大缩小,而对于简单的图片放大,缩小,android可以使用ZoomControls控件来实现一些简单图片放大缩小,移动,,,,当然,直接使用webview来加载图片也是能很好实现图片放大缩小功能的。 ...
文章目录前言下载、解压安装包安装包下载地址:linux中下载:解压安装包:下载相关的依赖和组件新建一个文件夹存放编译的文件编译、安装查看是否安装成功前言 因为Centos7默认的是gcc4.8.5,但是有时候要用到gcc5.4,因为,我来教大家如何从gcc4.8.5升到到gcc5.4.0。下载、解压安装包下载有两种下载:一种是直接在网页上下载,在上传到linux中;另一种就是在linux中wget地址下载。找好自己要存放安装包的目录,我的这个就在/home/目录下安装包下载地址:http
移动数字时代已经到来,没有给人们太多的思考时间,而越来越多的用户通过手机进行社交、查看新闻、移动办公及浏览网页等,随着数字营销被推上风口浪尖,众多企业开始转向移动SEO,纷纷试水移动搜索引擎优化。移动营销为什么做移动端搜索引擎关键词优化?转化率高用户主动搜索关键词,访问你网站上的产品或服务,目标非常精准,因此转化率更高。性价比高相对于其他营销方式,搜索引擎优化更精准,成本相对低得多。可扩展性网站可...