android glide 版本,Glide升级、Glide适配Androidx、Glide升级到4.11.0

本文档详细介绍了在项目从Androidx迁移过程中,如何将Glide从3.7.0版本升级到4.11.0,以解决兼容性问题。Glide 4.11.0已适配Androidx,需要引入vectordrawable-animated和exifinterface的Androidx库。同时,针对可能出现的NoClassFound错误,提供了寻找缺失库的资源链接,并讨论了Glide升级后遇到的‘IllegalStateException’问题及其解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Glide适配Androidx

背景

项目中使用的Glide版本是3.7.0。由于项目总体要迁移到Androidx,因此开始了一场Glide的大版本升级旅程。html

官方文档

https://muyangmin.github.io/glide-docs-cn/doc/download-setup.html

按照官方步骤大致可行,但老是会遇到一些意外状况,好比对于Androidx的兼容问题。java

兼容Androidx

由于Glide.4.8.0系列的包并无兼容Androidx,因此在项目迁移到Androidx时须要继续升级Glide版本。

一、直接使用Glide最新版本4.11.0,此版本已经适配Androidx。

二、须要引入两个关联的Androidx库:

androidx.vectordrawable:vectordrawable-animated:1.1.0

androidx.exifinterface:exifinterface:1.2.0android

libs依赖

有些状况可能咱们须要下载库包,而不是maven依赖

一、以下地址下载Glide.4.11.0最新包

https://mvnrepository.com/artifact/com.github.bumptech.glide/glide

二、须要引入两个关联的Androidx库:

androidx.vectordrawable:vectordrawable-animated:1.1.0

androidx.exifinterface:exifinterface:1.2.0

三、jar包会致使关联包没法引入,须要下载关联jar

Glide GIF Decoder Library:

https://mvnrepository.com/artifact/com.github.bumptech.glide/gifdecoder

Glide Disk LRU Cache Library:

https://mvnrepository.com/artifact/com.github.bumptech.glide/disklrucache

四、咱们的项目引入如上两个包已经编译成功。可是不排除其余项目有更多依赖,若是遇到 NoClassNotFound的状况,能够参考以下地址寻找关联包:

https://mvnrepository.com/artifact/com.github.bumptech.glidegit

一些消失的方法

须要借用apply和RequestOptions:

Glide.with(context).load(R.drawable.ic_transport_theme_art)

.apply(new RequestOptions().skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE))

.into(mThemeCardBgTarget);github

AppGlideModule

这个东西利用注解帮你桥接了老方法,能够继续使用升级后消失的方法,以下:

不过须要使用GlideApp

GlideApp.with(context).load(R.drawable.ic_transport_theme_art)

.skipMemoryCache(true).diskCacheStrategy(DiskCacheStrategy.NONE).into(mThemeCardBgTarget);web

神坑!!!! java.lang.IllegalStateException: You cannot call Glide.get() in registerComponents(), use the provided Glide instance instead

Glide升级后,使用了单例模式,因此并发使用Glide.with会出现如上报错。

解决办法:

能够在并发使用Glide.with的地方加锁;或者继承Application,在应用刚起动的最开始,作一次无用的Glide.with初始化实例。并发

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值