SimpleTargetは、Glideの以前の更新以降、廃止されました。
Glide.with(getActivity())
.load(uri)
.asBitmap()
.error(R.drawable.no_result)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(new SimpleTarget<Bitmap>() {
@Override
public void onResourceReady(final Bitmap bitmap, GlideAnimation glideAnimation) {
imageView.setImageBitmap(bitmap);
imageView.buildDrawingCache();
}
});
SimpleTargetの代わりに、CustomTargetを使用します
Glide.with(this)
.asBitmap()
.load(uri)
.error(R.drawable.no_result)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(new CustomTarget<Bitmap>() {
@Override
public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
imageView.setImageBitmap(resource);
imageView.buildDrawingCache();
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) { }
});
コンテンツをビューにロードする場合はCustomViewTargetを使用します バックグラウンドの場合はダウンロードAPI 、または特別なユースケースの場合はCustomTargetを使用します。ユーザーがBaseTarget.onLoadCleared(Android.graphics.drawable.Drawable)を実装していない場合、BaseViewの使用は安全ではなく、UIからリサイクルされたビットマップが参照され、根本的な原因でクラッシュが発生しにくくなります。
これは私のために働きました:
Glide.with(this)
.asBitmap()
.load(uri)
.apply(options)
.into(new CustomTarget() {
@Override
public void onResourceReady(@NonNull Object resource, @Nullable Transition transition) {
mBackgroundManager.setBitmap((Bitmap)resource);
}
@Override
public void onLoadCleared(@Nullable Drawable placeholder) { }
});