android加载大的gif动图

glide可以加载动态gif图片。美工给了我一个100M的超大gif图片。我想用glide加载应该问题不大。就将图片放到本地用Glide加载了。

String path = FileUtils.SDPATH + "files/bg.gif";
Glide.with(Context)
        .asGif()
        .load(path)
        .into(ImageView);

结果报了内存溢出了。说明Glide加载过大的gif图片不中。

在网上找到了另外一个加载gif的库:

implementation 'pl.droidsonroids.gif:android-gif-drawable:1.2.25'

引入这个库,将那个100M的大gif动图放到drawable文件夹里。

代码去加载这个gif动图:

import android.widget.MediaController;    


    //加载gif动态图
    private void setGifImageGif() {
        gif_img = findViewById(R.id.gif_img);
        gif_img.setScaleType(ImageView.ScaleType.FIT_XY);
        gif_img.setImageResource(R.drawable.bg);
        final MediaController mediaController = new MediaController(this);
        mediaController.setMediaPlayer((GifDrawable) gif_img.getDrawable());
        /**
            此处可以控制gif的进度
         */
        mediaController.setAnchorView(gif_img);
        gif_img.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                mediaController.show();
            }
        });
    }

xml里的控件:

    <pl.droidsonroids.gif.GifImageView
        android:id="@+id/gif_img"
        android:visibility="gone"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

 没有报错。正常的加载了这个100M的动态gif图片。

源码可以参考次github地址:GitHub - koral--/android-gif-drawable: Views and Drawable for displaying animated GIFs on Android

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

留白的云

感谢鼓励。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值