android Glide无法加载某些图像失败,出现异常

vi4fp9gy  于 2023-04-04  发布在  Android
关注(0)|答案(5)|浏览(690)

我有问题的图像加载。只有一些图像没有加载。我已经尝试使用滑翔和图像加载器。

滑翔码:

Glide.with(context)
                .load(model.getImage4x3().trim()+"?w=430&h=275")
                .into(holder.mBinding.ivPromotion);

滑翔依赖性:

implementation 'com.github.bumptech.glide:glide:4.9.0'

我也试过:3.9.0、4.0.0、3.6.1、3.8.0

错误:

load failed for http://mcms-uat.mercatus.com.sg/en/-/media/E3BE24B58E1144228C62D2364F4FF543.ashx?rev=50ebbcc572e6488c826a23276ab9bf08 with size [320x240]
    class com.bumptech.glide.load.engine.GlideException: Failed to load resource
    There were 4 causes:
    java.io.IOException(java.lang.RuntimeException: setDataSource failed: status = 0x80000000)
    java.io.IOException(java.lang.RuntimeException: setDataSource failed: status = 0x80000000)
    java.io.IOException(java.lang.RuntimeException: setDataSource failed: status = 0x80000000)
    java.io.IOException(java.lang.RuntimeException: setDataSource failed: status = 0x80000000)
     call GlideException#logRootCauses(String) for more detail
      Cause (1 of 6): class com.bumptech.glide.load.engine.GlideException: Failed LoadPath{DirectByteBuffer->Object->Drawable}, DATA_DISK_CACHE, http://mcms-uat.mercatus.com.sg/en/-/media/E3BE24B58E1144228C62D2364F4FF543.ashx?rev=50ebbcc572e6488c826a23276ab9bf08
        Cause (1 of 3): class com.bumptech.glide.load.engine.GlideException: Failed DecodePath{DirectByteBuffer->GifDrawable->Drawable}
        Cause (2 of 3): class com.bumptech.glide.load.engine.GlideException: Failed DecodePath{DirectByteBuffer->Bitmap->Drawable}
        Cause (3 of 3): class com.bumptech.glide.load.engine.GlideException: Failed DecodePath{DirectByteBuffer->BitmapDrawable->Drawable}

图片:

http://mcms-uat.mercatus.com.sg/en/-/media/E3BE24B58E1144228C62D2364F4FF543.ashx?rev=50ebbcc572e6488c826a23276ab9bf08
请检查!

az31mfrm

az31mfrm1#

1) Add below dependencies into app/build.gradle      
    annotationProcessor 'com.github.bumptech.glide:compiler:your_glide_version'

2)将android:largeHeap=“true”放入清单文件的标签中
3)使用如下

ImageView imageView = (ImageView) findViewById(R.id.my_image_view);
    Glide.with(context)  // this
       .load(imagePath)
       .placeholder(R.drawable.loading_spinner)
       .into(imageView);
63lcw9qa

63lcw9qa2#

简单地使用这个方法,你就完成了。如果它不起作用,然后去毕加索图书馆,因为这个问题已经被滑翔本身锁定。

Glide.with(context)
                .asBitmap()
                .load("Your Network Image Path")
                .diskCacheStrategy(DiskCacheStrategy.ALL)
                .into(new CustomTarget<Bitmap>() {
                    @Override
                    public void onResourceReady(@NonNull Bitmap resource, @Nullable Transition<? super Bitmap> transition) {
                        iv.setImageBitmap(resource);
                        iv.buildDrawingCache();
                    }
                    @Override
                    public void onLoadCleared(@Nullable Drawable placeholder) { }
                });
n1bvdmb6

n1bvdmb63#

谢谢你们所有人的回答和建议。我已经解决了这个问题。我的URL参数有问题,它是?w=430&h=275而不是&w=430&h=275。由于这个图像没有裁剪和加载大图像的问题,所以我通过改变参数来解决它

6pp0gazn

6pp0gazn4#

在glide中加载大图像时出现问题
要么使用毕加索图书馆
实现'com.squareup.picasso:picasso:2.5.2'
或者你也可以使用Facebook库,可以在他们的网站上找到(这也会很好地加载GIF图像)。

gz5pxeao

gz5pxeao5#

你也可以通过改变上下文比如applicationcontext或者base context来尝试

相关问题