当前位置: 首页 > 工具软件 > glide-docs-cn > 使用案例 >

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

皮弘博
2023-12-01

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初始化实例。并发

 类似资料: