4

我正在为 Android 和 iOS 应用程序开发 UI。它可能会使用 PhoneGap(或类似)构建,这意味着 UI 将是 HTML5 实现。

对于大多数图像,我们决定使用 SVG 文件,因为它们可以在各种 Android 屏幕上很好地缩放,并且非常适合 iOS 上的 Retina。

到目前为止,使用 .svg 文件对我们来说效果很好,并且由于 Safari 和 Chrome 的支持,在标准浏览器中易于本地测试。

问题是这些 .svg 文件在我们将它们转换为 sprite 时会变得相当大。因此,我正在研究使用 GZIPped svg 文件 (.svgz)。

快速测试表明,我们使用的 50k SVG 通过 Gzip 压缩到 8k。

然而,问题在于,似乎需要存在客户端/服务器关系才能解压缩 SVGZ 文件。在本地运行时,我无法让 Safari 呈现链接的 .svgz 文件(因为我假设它会在通过 PhoneGap 编译的应用程序中的 web 视图时)。不过,Chrome 似乎能够呈现 svgz。

所以,我的问题:

  • 有没有办法通过 PhoneGap 应用程序在 iOS 上本地使用 .svgz 文件(我还没有到通过 PhoneGap 编译的地步,所以目前无法测试该部分)?
  • Android 上的 .svgz 是否存在任何已知问题(考虑到在桌面 Chrome 上看起来没问题)?
  • 在没有实际下载速度问题的情况下(在初始应用程序下载之外),我是否应该为 .svgz 烦恼?
4

1 回答 1

4

我对 iOS 或 Android 上的 svgz 问题了解不多,但你绝对不应该担心 .svg 文件与 .svgz 相比的大小,甚至对于初始下载也不用担心。无论如何,Android 和 iOS 软件包中的所有文件都是压缩的,因此自己压缩这些文件不会给您带来任何好处。实际上,保持它们不压缩可能对您的应用程序性能更好。

于 2012-11-05T07:59:31.697 回答