Android 使用Gif图片及其注意点

Gif能做出许多用Android动画难以实现的效果,但是也存在了一些或大或小的问题。存在的问题具体有:
1、使用它的行为属于Android Unsupported drawing operations,意思就是gif在Android中不支持绘画,无法去用原生的代码去改变gif的行为和表现方式。
2、Gif动画不宜过大,放到程序里面要时刻注意内存的变化,避免OOM。
3、最让人难以接受的是,gif无法自适应android的屏幕尺寸,因此图形锯齿化非常严重!这个时候,要么放弃使用gif,要么和产品设计师商量给gif图增加边缘半透明像素过渡块(说的不够专业,不好意思),非常有用的是通过调整gif图在布局文件中的宽度和高度能有效避免锯齿化的程度,亲测非常有用。不过就不知道在渣屏分辨率上的情况了。
4、在现在的机子系统基本上都实现了硬件加速,但是gif图是不支持硬件加速的,因此在activity上使用gif会报错

libc Fatal signal 11 (SIGSEGV) at 0x00000000 (code=1), thread 10509 (tercam.activity)

这个解决方法是在Manifest文件中的对应activity上关闭硬件加速,虽然默认就是关闭的,但不好用,必须要明确声明才行

android:hardwareAccelerated="false"

最后,放出实现能实现gif动画的代码,见大神的文章:
http://blog.csdn.net/loongggdroid/article/details/21166563
如有纰漏,欢迎指正~

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值