当前位置: 首页 > 知识库问答 >
问题:

使用Glide加载gif时内存使用率高

程成天
2023-03-14

我正在使用Glide在我的PagerAdapter中加载GIF。

图像来自服务器,具有高分辨率和大量帧。

我注意到,一旦加载和播放GIF,内存使用率很高,可能导致内存不足。

我尝试了以下Glide方法(.override()、skipMemoryCache()、diskCacheStrategy()),但内存使用率没有改变。

Glide中还有其他可以使用的方法吗?

    Glide.with(mContext)
            .load(imageUrl)
            .override(480, 342)
            .listener(new RequestListener<String, GlideDrawable>() {
                @Override
                public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
                    return false;
                }

                @Override
                public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                    imageViewBackground.setImageDrawable(resource);
                    return false;
                }
            })
    .into(imageViewBackground);

共有2个答案

徐瑞
2023-03-14

经过多次尝试,我终于走上了这条路

Glide.with(mContext)
     .load(media_url)
     .thumbnail(Glide
     .with(mContext)
     .load(media_url)
     .listener(new RequestListener<String, GlideDrawable>() {
                                @Override
                                public boolean onException(Exception e, String model, Target<GlideDrawable> target, boolean isFirstResource) {
                                    progressBar.setVisibility(View.GONE);
                                    return false;

                                }

                                @Override
                                public boolean onResourceReady(GlideDrawable resource, String model, Target<GlideDrawable> target, boolean isFromMemoryCache, boolean isFirstResource) {
                                    progressBar.setVisibility(View.GONE);
                                    return false;
                                }
                            })
                    )

                    .dontAnimate()
                    .into(mIvMessageImage);
陈夜洛
2023-03-14
    Glide.with(mContext)
        .load(imageUrl)
        .override(480, 342)
        .into(...)

覆盖帮了我的忙,没有更多的小部件更新远程视图超过最大位图内存使用错误

 类似资料:
  • 我正在尝试使用Glide库将gif加载到ImageView中。Gif图像位于Raw文件夹中。代码如下: 但它没有加载。我错过什么了吗?它没有给出失败的日志。

  • 我尝试在图像视图中显示GIF图像作为加载占位符-使用Glide Library: 我试图显示此文件 加载2.gif 但是得到这个错误: 错误:(54,86)错误:找不到符号方法asGif() 如何在imageView中使用Glide显示GIF文件?

  • 我正在使用Glide在启动屏幕中加载GIF图像。GIF加载完成后,我想使用Intent打开下一个活动。 我尝试了以下代码, 和Glide版本:com.github.bumptech.Glide:Glide:3.7.0' 但是找不到任何帮助,请帮助解决这个问题。

  • 我第一次使用Glide在ImageView中显示GIF。我已经按照几个站点的方式对其进行了编码。但它不起作用。我已经给出了以下所有代码:(如果我弄错了什么,请告诉我) 项目级build.gradle 应用程序级构建。gradle文件: activity_main.xml 活动Java代码: 单击“提交”按钮后,我没有看到GIF图像。

  • 我有一个应用程序,当用户打开指向图像的链接时,不是打开浏览器,而是在服务中创建一个浮动的图像视图,并显示在所有其他应用程序之上(需要android.permission.SYSTEM\u ALERT\u窗口的权限)。这里是应用程序的链接:Tappic。 我想使用Glide添加动画GIF支持(我也尝试过其他库,但结果总是一样),但只显示GIF的前几帧,然后停止。 下面是我在服务中加载图像的代码: 您

  • 我可以在占位符中加载旋转动画的微调器,直到使用Glide加载图像吗? 我正在尝试使用占位符(R.Drawable.spinner)来实现这一点,没有动画出现? 如果有人能帮我,那太好了? 谢谢