当我切换到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)