Glide 库显示模糊图像的时间太长
Glide library taking too long to display blur images
我正在使用 Glide 库来显示带有模糊变换的图像,但显示时间太长。显示模糊图像大约需要 6-8 秒。
我要显示的图片是本地保存的。
没有模糊的图像几乎可以立即加载。
这是我正在使用的代码:
Glide.with(getActivity())
.load(img)
.transition(DrawableTransitionOptions.withCrossFade())
.transform(new BlurTransformation(), new CenterCrop())
.placeholder(R.drawable.back)
.error(R.drawable.back)
.into(layout);
我也试过像下面这样将参数传递给 BlurTransformation()
,但是 none 有效。
new BlurTransformation(context)
new BlurTransformation(25)
new BlurTransformation(25, 5)
这是我在 build.gradle
中与 Glide 相关的内容:
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
implementation 'jp.wasabeef:glide-transformations:4.0.0'
我之前使用过 Picasso 库,它在模糊变换方面工作得很好,但 Glide 花费的时间太长了。
滑行
嘿,
如果你看到滑动模糊转换代码的文档,
@Override
protected Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,@NonNull Bitmap toTransform, int outWidth, int outHeight) {
int width = toTransform.getWidth();
int height = toTransform.getHeight();
int scaledWidth = width / sampling;
int scaledHeight = height / sampling;
Bitmap bitmap = pool.get(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.scale(1 / (float) sampling, 1 / (float) sampling);
Paint paint = new Paint();
paint.setFlags(Paint.FILTER_BITMAP_FLAG);
canvas.drawBitmap(toTransform, 0, 0, paint);
bitmap = FastBlur.blur(bitmap, radius, true);
return bitmap;
}
它正在对位图进行操作,如果您的图像尺寸较大,则对位图进行操作会花费一些时间,-请使用较浅的图像-您可以自行进行模糊操作。 - 你需要显示加载器,直到你的操作不在位图上执行。
============================================= ===========================
我正在使用 Glide 库来显示带有模糊变换的图像,但显示时间太长。显示模糊图像大约需要 6-8 秒。 我要显示的图片是本地保存的。
没有模糊的图像几乎可以立即加载。
这是我正在使用的代码:
Glide.with(getActivity())
.load(img)
.transition(DrawableTransitionOptions.withCrossFade())
.transform(new BlurTransformation(), new CenterCrop())
.placeholder(R.drawable.back)
.error(R.drawable.back)
.into(layout);
我也试过像下面这样将参数传递给 BlurTransformation()
,但是 none 有效。
new BlurTransformation(context)
new BlurTransformation(25)
new BlurTransformation(25, 5)
这是我在 build.gradle
中与 Glide 相关的内容:
implementation 'com.github.bumptech.glide:glide:4.9.0'
annotationProcessor 'com.github.bumptech.glide:compiler:4.9.0'
implementation 'jp.wasabeef:glide-transformations:4.0.0'
我之前使用过 Picasso 库,它在模糊变换方面工作得很好,但 Glide 花费的时间太长了。
滑行 嘿, 如果你看到滑动模糊转换代码的文档,
@Override
protected Bitmap transform(@NonNull Context context, @NonNull BitmapPool pool,@NonNull Bitmap toTransform, int outWidth, int outHeight) {
int width = toTransform.getWidth();
int height = toTransform.getHeight();
int scaledWidth = width / sampling;
int scaledHeight = height / sampling;
Bitmap bitmap = pool.get(scaledWidth, scaledHeight, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.scale(1 / (float) sampling, 1 / (float) sampling);
Paint paint = new Paint();
paint.setFlags(Paint.FILTER_BITMAP_FLAG);
canvas.drawBitmap(toTransform, 0, 0, paint);
bitmap = FastBlur.blur(bitmap, radius, true);
return bitmap;
}
它正在对位图进行操作,如果您的图像尺寸较大,则对位图进行操作会花费一些时间,-请使用较浅的图像-您可以自行进行模糊操作。 - 你需要显示加载器,直到你的操作不在位图上执行。
============================================= ===========================