Android 加载GIF图最佳实践
来源:互联网 发布:蒲慕明 知乎 编辑:程序博客网 时间:2024/06/05 09:21
转载请标明出处:http://blog.csdn.net/zhaoyanjun6/article/details/75578109
本文出自【赵彦军的博客】
起因
最近在项目中遇到需要在界面上显示一个本地的 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() ; //获取播放一次所需要的时间
个人微信号:zhaoyanjun125
, 欢迎关注
阅读全文
1 0
- Android 加载GIF图最佳实践
- Android 加载GIF图最佳实践
- Android 加载GIF图最佳实践方案
- Android加载gif图
- [Android]一行代码加载GIF图
- android 加载gif动图 自定义GifView
- Android 加载gif动画
- android加载GIF动画
- android 加载gif
- Android gif 加载方式
- android加载gif图片
- Android 加载gif图片
- Android加载GIF动画
- Android加载gif图片
- android加载gif图片
- android-gif-drawable 加载太多的gif,有时gif动态图不动
- android-加载网络Gif和本地Gif
- Android最佳实践
- 欧拉回路及例题
- 字符串替换
- java中的SPI机制
- 【经验分享】3个C++实用技巧
- POJ3254
- Android 加载GIF图最佳实践
- Day4
- 关于python常用的注释、输入值、转义字符
- Ubuntu16安装删除libfreenect2
- 音频放播器
- c++将数组作为参数意味着什么?
- JDBC规范化写法
- HDU 1028-Ignatius and the Princess III(经典母函数模型)
- PCL安装过程中OpenNI安装出现问题