关于gif在android手机上显示的这个问题,已经有很多前辈在研究了,本人也是在前人的研究的基础上说说自己的看法。希望能对一些新人有所帮助,谢谢啊
。 众所周知,android没有直接的控件显示gif图片,计算使用imageView显示,也只能显示一张, 在android手机上显示gif,现在我所知的就只有四种方法而已,第一个就是自己去解析图片,即把gif解析成一张张的bitmap图片,来进行显示,根据我自己是使用效果,该方法非常耗资源,如果只显示一张还是可以使用,如要解析多张,或者在listView上显示多个gif,这种方法不建议使用。第二种就是使用使用Movie来进行显示,该方法的显示效果不好,容易黑屏,或者花屏,和第一种方法一样,对资源消耗也比较大。第三种就使用webView来显示gif了,以前本人就是使用这个方法来显示单张gif,该方法用起来还是比较简单的。最后一种方法就是此次我想说的方法,其实和第一种方法原理一样,只就没有使用java去解析,直接跳过java层,使用c去解析,这样解析的效果非常好,大家都知道c的执行效率是非常高的,不过该方法不是我写的,是国外的牛人写的,
这里是调用的api,相信大家一看就懂怎么用了。
这里是c解析gif的代码。有兴趣的可以去研究下。本人感觉,除了使用c来解析gif外,其他方法,都比较适合只显示一张gif,如果显示多张gif的话,那就可能有点不太合适了。效果图就不上了,上传原工程就行了,我是把解析gif的工程作为库的,当然你也可以直接用在自己的工程里面,不用作为库,把需要的文件复制进去就行了,根据需要自己去扩展功能吧,再次感谢贡献此解析gif工程的牛人,非常感谢