全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android 加载GIF图最佳实践方案

起因

最近在项目中遇到需要在界面上显示一个本地的 GIF 图。按照惯例我直接用了 Glide 框架来实现。

Glide 地址: https://github.com/bumptech/glide

我用的 Glide版本为 4.0.0-RC1 , 具体的实现代码如下:

 Glide.with( this ).asGif().load( R.drawable.yiba_location ).into( location_image ) ;

运行的效果很卡顿,我怀疑是不是方法没有用对,调了压缩模式,还是卡顿;调了缓存模式,还是卡顿。看了一下我的 gif 图,大小还是 800K ,是不是图片太大了,换了一张 100K 的 gif 图,这次显示的效果很好,gif 图播放的很流畅。至此,得出结论:Glide 框架自身的原因,播放大尺寸的 Gif 图的效果不是很理想。

方案

Glide 不行,那么就要另想其他方案,就去 github 上找一下。

排名第一的 android-gif-drawable 库 start 有 4.8K , 这个应该不错,试试吧。

android-gif-drawable : https://github.com/koral--/android-gif-drawable

引用:

 compile 'pl.droidsonroids.gif:android-gif-drawable:1.2.7'

直接把布局文件中的 ImageView 替换为 GifImageView

<pl.droidsonroids.gif.GifImageView
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:src="@drawable/yiba_location "
  />

运行起来看看,果然很好啊,播放的很流畅,果断采用此方案。

探寻其他的属性:

GifImageView gifImageView = (GifImageView) findViewById(R.id.gifImageView);
GifDrawable gifDrawable = (GifDrawable) gifImageView.getDrawable();

通过 GifImageView 对象获取到 GifDrawable 对象。

gifDrawable.start(); //开始播放
gifDrawable.stop(); //停止播放
gifDrawable.reset(); //复位,重新开始播放
gifDrawable.isRunning(); //是否正在播放
gifDrawable.setLoopCount( 2 ); //设置播放的次数,播放完了就自动停止
gifDrawable.getCurrentLoop(); //获取正在播放的次数
gifDrawable.getCurrentPosition ; //获取现在到从开始播放所经历的时间
gifDrawable.getDuration() ; //获取播放一次所需要的时间

总结

以上所述是小编给大家介绍的在Android 加载GIF图最佳实践方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# android  # 加载  # gif  #   # Android中Glide加载库的图片缓存配置究极指南  # android异步加载图片并缓存到本地实现方法  # Android中ListView异步加载图片错位、重复、闪烁问题分析及解决方案  # Android加载大分辨率图片到手机内存中的实例方法  # Android关于Glide的使用(高斯模糊、加载监听、圆角图片)  # Android使用控件ImageView加载图片的方法  # Android图片加载利器之Picasso基本用法  # Android实现加载广告图片和倒计时的开屏布局  # android中Glide实现加载图片保存至本地并加载回调监听  # 使用Thumbnails实现图片指定大小压缩  # 正在播放  # 小编  # 很好  # 看了  # 在此  # 其他的  # 不是很  # 我用  # 用了  # 给大家  # 换了  # 就去  # 来实现  # 所需要  # 太大了  # 所述  # 给我留言  # 感谢大家  # 效果很好  # 疑问请 


相关文章: 弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  长沙企业网站制作哪家好,长沙水业集团官方网站?  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  如何在云指建站中生成FTP站点?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  香港服务器部署网站为何提示未备案?  如何确保FTP站点访问权限与数据传输安全?  如何用VPS主机快速搭建个人网站?  如何基于PHP生成高效IDC网络公司建站源码?  非常酷的网站设计制作软件,酷培ai教育官方网站?  网站制作新手教程,新手建设一个网站需要注意些什么?  盘锦网站制作公司,盘锦大洼有多少5G网站?  大连网站制作公司哪家好一点,大连买房网站哪个好?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?  建站之星在线客服如何快速接入解答?  无锡营销型网站制作公司,无锡网选车牌流程?  如何通过服务器快速搭建网站?完整步骤解析  如何在万网自助建站平台快速创建网站?  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  实现虚拟支付需哪些建站技术支撑?  ppt制作免费网站有哪些,ppt模板免费下载网站?  如何在Golang中指定模块版本_使用go.mod控制版本号  简单实现Android文件上传  jQuery 常见小例汇总  广东企业建站网站优化与SEO营销核心策略指南  如何通过FTP空间快速搭建安全高效网站?  建站之星后台密码遗忘如何找回?  关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)  html制作网站的步骤有哪些,iapp如何添加网页?  如何在自有机房高效搭建专业网站?  广平建站公司哪家专业可靠?如何选择?  打鱼网站制作软件,波克捕鱼官方号怎么注册?  建站之星如何通过成品分离优化网站效率?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  SQL查询语句优化的实用方法总结  ,石家庄四十八中学官网?  济南专业网站制作公司,济南信息工程学校怎么样?  宝塔Windows建站如何避免显示默认IIS页面?  微信小程序 五星评分(包括半颗星评分)实例代码  c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  如何确认建站备案号应放置的具体位置?  如何通过.red域名打造高辨识度品牌网站?  长沙做网站要多少钱,长沙国安网络怎么样?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的?  高性能网站服务器配置指南:安全稳定与高效建站核心方案  ,sp开头的版面叫什么?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  建站之星体验版:智能建站系统+响应式设计,多端适配快速建站 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。