Android SketchImageView 加载Gif图片,解决界面不流畅卡顿问题

遇到的问题

列表加载gif图片,用Fresco,Glide,android-gif-drawable等都能实现简单的单个Gif图片的加载,如果在列表上加载图片,不做内存优化处理,那么OOM就会黏着你,对于项目比较紧急,时间有限的童鞋来说,优化无疑是雪上加霜,SO,那么给大家推荐一个简单加载Gif图片的控件,超级好用!

简介

Sketch 是 Android 上一个强大且全面的图片加载器,支持 GIF,手势缩放以及分块显示超大图片。Sketch is a powerful and comprehensive image loader on Android, with support for GIF, gesture zooming, block display super large image

Sketch 是 Android 上一款强大且全面的图片加载器,除了图片加载的必备功能外,还支持 GIF,手势缩放、分块显示超大图片、自动纠正图片方向、显示视频缩略图等功能

特效

支持的特性

 

 

  • 多种 URI 支持. 支持 http://https://asset://content://file:///sdcard/sample.jpg、 /sdcard/sample.jpgdrawable://data:image/data:img/android.resource://apk.icon://app.icon:// 等 URI,通过 UriModel 还可以扩展支持的 URI
  • 支持 gif 图片. 集成了 android-gif-drawable 1.2.10 可以方便的显示 gif 图片
  • 支持手势缩放. 支持手势缩放功能,在 PhotoView 的基础上进行了优化,增加了滚动条,定位等功能
  • 支持分块显示超大图. 支持分块显示超大图功能,从此再大的图片也不怕了
  • 支持三级缓存. 通过 LruMemoryCache、LruDiskCache 复用图片,加快显示时间;通过 LruBitmapPool 复用 Bitmap,减少因 GC 而造成的卡顿
  • 支持纠正图片方向. 可纠正方向不正的图片,并且分块显示超大图功能也支持,仅限 JPEG 格式的图片
  • 支持显示 APK 或 APP 图标. 支持显示本地 APK 文件的图标或根据包名和版本号显示已安装APP的图标
  • 支持 Base64 图片. 支持解析 Base64 格式的图片
  • 支持各种列表. 在各种列表(ListView、RecyclerView)中循环使用不错位,并且不占用 setTag() 方法
  • 自动防止加载过大 Bitmap 可通过 maxSize 来控制加载到内存的图片的尺寸,默认为 ImageView的 layout_width 和 layout_height 或屏幕的宽高
  • 独家 TransitionDrawable 支持. 独家支持任意尺寸的两张图片使用 TransitionDrawable 过渡显示,保证不变形
  • 只加载或只下载. 除了 display() 方法可以显示图片之外,你还可以通过 load() 方法只加载图片到内存中或通过 download() 方法只下载图片到本地
  • 移动数据下暂停下载. 内置了移动数据下暂停下载图片的功能,你只需开启即可
  • 自动选择合适的 Bitmap.Config. 根据图片的 MimeType 自动选择合适的 Bitmap.Config,减少内存浪费,例如对于 JPEG 格式的图片就会使用 Bitmap.Config.RGB_565 解码
  • 强大且灵活的自定义. 可自定义 URI 支持、HTTP、下载、缓存、解码、处理、显示、占位图等各个环节  

支持的URI

TypeScheme
File in networkhttp://, https://
File in SDCard/, file://
Content Resolvercontent://
Asset Resourceasset://
Drawable Resourcedrawable://
Base64data:image/, data:/img/
APK Iconapk.icon://
APP Iconapp.icon://
Android Resourceandroid.resource://

 

开始使用

导入 Sketch

在 app 的 build.gradle 文件的 dependencies 节点中加入依赖

implementation'me.panpf:sketch-gif:2.6.1'

Android Studio 会自动合并 AAR 中所包含的权限和混淆配置

使用 SketchImageView 显示图片

SketchImageViewsketchImageView=(SketchImageView) findViewById(R.id.image_main);

//默认播放gif图片

sketchImageView.getOptions().setDecodeGifImage(true);

//设置gif资源图片

sketchImageView.displayImage("http://t.cn/RShdS1f");

 

使用方法就是这么简单,详细API大家可以去查看SketchImageView

SketchImageView

欢迎大家进群探讨Android相关技术 群号:548154942 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值