将Glide 3.8迁移到4.5,applyOptions不再执行了吗?

时间:2018-04-09 23:07:54

标签: android android-glide

我刚从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被召唤?

1 个答案:

答案 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文件的顶部