使用Glide 4.7

时间:2018-05-06 16:29:18

标签: android android-glide

当我切换到Glide(4.7.1)的新版本时,我不得不对代码进行一些更改。我以前在哪里:

Glide.with(context)
        .load(url)
        .bitmapTransform(ContrastFilterTransformation(activity, BaseActivity.CONTRAST_IMAGES))
        .centerCrop()
        .diskCacheStrategy(DiskCacheStrategy.RESULT)
        .into(imageView)

现在我有:

Glide.with(context)
        .load(url)
        .apply(
                RequestOptions()
                        .diskCacheStrategy(DiskCacheStrategy.RESOURCE)
                        .centerCrop()
                        .transform(
                                ContrastFilterTransformation(
                                        context,
                                        BaseActivity.CONTRAST_IMAGES
                                )
                        )
        )
        .into(imageView)

问题是现在我收到下面报告的错误并且没有加载图像。 加载的图像是从互联网下载的jpg文件。 如果我摆脱了转换,图像被正确加载。 如果我除了RequestOptions中的转换之外的所有内容,我仍然会得到错误。 如果我设置.diskCacheStrategy(DiskCacheStrategy.None),则会发生同样的错误 这曾经用于Glide版本2和旧代码。

  

I / Glide:根本原因(1 of 1)       java.lang.AbstractMethodError:abstract method“void com.bumptech.glide.load.Key.updateDiskCacheKey(java.security.MessageDigest)”           在com.bumptech.glide.load.resource.gif.GifDrawableTransformation.updateDiskCacheKey(GifDrawableTransformation.java:67)           在com.bumptech.glide.load.engine.ResourceCacheKey.updateDiskCacheKey(ResourceCacheKey.java:83)           at com.bumptech.glide.load.engine.cache.SafeKeyGenerator.calculateHexStringDigest(SafeKeyGenerator.java:52)           在com.bumptech.glide.load.engine.cache.SafeKeyGenerator.getSafeKey(SafeKeyGenerator.java:41)           在com.bumptech.glide.load.engine.cache.DiskLruCacheWrapper.get(DiskLruCacheWrapper.java:88)           在com.bumptech.glide.load.engine.ResourceCacheGenerator.startNext(ResourceCacheGenerator.java:86)           在com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:302)           在com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:269)           在com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:233)           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1162)           at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:636)           在java.lang.Thread.run(Thread.java:764)           在com.bumptech.glide.load.engine.executor.GlideExecutor $ DefaultThreadFactory $ 1.run(GlideExecutor.java:446)

0 个答案:

没有答案