Android WebView中的动画

时间:2012-10-08 22:07:10

标签: android html webview flash gif

据我所知,Android中没有正式支持swf和gif的WebViews,尽管它们在我的HTC Desire Device中工作。

我正在构建一个全部基于WebView的应用程序。我所做的是将'app'编码为HTML,将其放入'raw'文件夹中,一旦应用程序启动,它将所有htmls和图像放入SD上的文件夹中(如果它们还没有)。 / p>

现在我需要在那里显示一些动画。我用Actionscript制作了它们,我很高兴它似乎有效(动画每个都是25KB),但是经过一段时间的发布后,我收到了那些看不到动画的人的报道。

然后我将它们修补成GIF(每个内存增加到400KB-1MB)。此时,我决定从原始文件夹中取出GIF,并在应用程序第一次运行时从Web中的一台服务器下载它们,因此我的apk不会太大。但我再次抱怨人们看不到它(然后我发现GIF也不受支持)

Google-ing和stackoverflowing我发现唯一的解决方案是将这些GIF分成单独的图像并逐个用javascript显示它们来创建动画。我想这种方法对于小动画来说是可以的(比如某些脸上打招呼或类似的东西),但对于整个动画......每个动画重量约为3MB(当swf为25KB时......)。而且我认为从用户的数据配额中获取30MB(未来可能更多用于新动画)并不好。

所以:

  1. 还有其他解决方案吗?
  2. 有很多手机不支持SWF吗?和GIF?如果它们不是太多,我会考虑使用我的应用程序的描述,如果手机内存不足(动画对我的应用程序不是很重要),动画将无效。
  3. 非常感谢,

    维克托

    编辑:其他信息:动画类似于this one

1 个答案:

答案 0 :(得分:0)

所以...我发现唯一的方法是使用HTML5画布动画,因为很多设备都支持它。

动画并不像GIF兼容设备那样流畅,但我宁愿让所有人都可以使用它。

所以,CommonsWare回答了我的第二个问题,但我将回答我的第一个问题:是的,使用HTML5。它并没有花费大量的工作,因为JS也可以是面向对象的,语法与AS3非常相似。

最好的部分是基本代码只加权34KB(假设引擎加上所有图像),每个动画(在一个单独的文件中)加权在1到2KB之间。这太棒了,我可以将它们全部放入Android的原始文件夹中。

非常感谢CommonsWare的评论。