0

据我所知,WebViews 中的 swf 和 gif 不受 Android 官方支持,尽管它们在我的 HTC Desire 设备中工作。

我正在构建一个基于 WebView 的应用程序。我所做的是将“应用程序”编码为 HTML,将其放入“原始”文件夹,一旦应用程序启动,它会将所有 html 和图像放入 SD 上的文件夹中(如果它们还没有的话)。

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

然后我将它们修补成一个 GIF(每个内存增加到 400KB-1MB)。在这一点上,我决定从原始文件夹中取出 gif,并在应用程序第一次运行时从网络中的一个服务器下载它们,这样我的 apk 就不会变得太大。但是我又收到投诉说人家看不到(后来发现GIF也不支持)

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

所以:

  1. 还有其他解决方案吗?
  2. 是否有很多不支持 SWF 的手机?和GIF?如果它们不是太多,我会考虑在我的应用程序的描述中说明如果手机内存不足动画将无法工作(动画在我的应用程序中不是很重要)

非常感谢你,

胜利者

编辑:附加信息:动画就像这样

4

1 回答 1

0

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

动画不像在兼容 GIF 的设备中那样流畅,但我宁愿让每个人都可以访问它。

所以,CommonsWare 回答了我的第二个问题,但我会回答我的第一个问题:是的,使用 HTML5。这并不需要大量的工作,因为 JS 也可以是面向对象的,并且语法与 AS3 非常相似。

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

非常感谢 CommonsWare 的评论。

于 2012-10-22T21:51:10.710 回答