私はグリッドを持っています。各アイテムには 2 つの ImageView があります。読み込まれた画像は両方の ImageView で同じですが、1 つの ImageView でビットマップに変換を適用したいと考えています。元のビットマップを 1 回だけロードして、元のビットマップと変換されたビットマップの両方を (両方の Imageview に対して) キャッシュすることはできますか?
private DrawableRequestBuilder<String> mFullRequest;
private DrawableRequestBuilder<String> mBlurRequest;
...
//in my adapter constructor
mFullRequest = Glide.with(context)
.fromString()
.diskCacheStrategy(DiskCacheStrategy.ALL)
.priority(Priority.HIGH)
.crossFade(R.anim.fade_in, 150);
mBlurRequest = Glide.with(context)
.fromString()
.diskCacheStrategy(DiskCacheStrategy.RESULT)
.transform(new BlurredImageTransformation(context))
.crossFade();
.....
//in getview
final String imgUrl =.....
mFullRequest
.load(imgUrl)
.into(holder.campaignImage);
mBlurRequest
.load(imgUrl)
.override(Constants.MAX_BLURRED_IMAGE_WIDTH, (int) (Constants.MAX_BLURRED_IMAGE_WIDTH * ratio))
.into(holder.blurredImage);