我刚从Glide 3.8迁移到Glide 4.5
当我使用class ImageGlideModule : GlideModule {
override fun registerComponents(context: Context, glide: Glide, registry: Registry) {
}
override fun applyOptions(context: Context, builder: GlideBuilder) {
val detector = MainApplication.component.getPerformacneDetect()
if (detector.isHighPerformingDevice) {
builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888)
} else {
builder.setDecodeFormat(DecodeFormat.PREFER_RGB_565)
}
}
}
<meta-data
android:name="com.elyeproj.melbournemalaysianfood.ImageGlideModule"
android:value="AppGlideModule" />
我有我的清单
applyOptions
AppGlideModule
被调用没有问题。
但是现在我使用@GlideModule
注释更改为@GlideModule
class ImageGlideModule : AppGlideModule() {
override fun registerComponents(context: Context, glide: Glide, registry: Registry) {
super.registerComponents(context, glide, registry)
}
override fun applyOptions(context: Context, builder: GlideBuilder) {
val detector = MainApplication.component.getPerformacneDetect()
if (detector.isHighPerformingDevice) {
builder.setDecodeFormat(DecodeFormat.PREFER_ARGB_8888)
} else {
builder.setDecodeFormat(DecodeFormat.PREFER_RGB_565)
}
}
}
(版本4.5方法),如下所示。
applyOption
我的AppGlideModule
根本没有被召唤。我在Manifest中尝试使用和不使用元数据,同样的事情发生了。我错过了什么吗?我如何才能让applyOptions
file.txt
被召唤?
答案 0 :(得分:0)
找到它无法正常工作的原因。我需要为滑行添加annotationProcessor
,因为我正在使用@GlideModule
。所以在Kotlin,那是kapt
implementation 'com.github.bumptech.glide:glide:4.6.1'
kapt 'com.github.bumptech.glide:compiler:4.6.1'
也不要忘记添加
apply plugin: 'kotlin-kapt'
在gradle文件的顶部