我一直在研究 SVGKit,但我发现了相互矛盾的想法。有人说它比 PNG 慢,也有人说它快。
我希望得到建议以及我应该走哪条路线。当我将矢量图形导出为 PNG 进行显示时,使用 SVG 是否没有意义?
当然,这给出了它仍然是一个向量的附加值。
还是仍然建议将所有内容导出到 PNG ?
您可能会考虑在 Xcode 7 中引入的中间方式。在这里,您将资源作为矢量图像 (PDF) 添加到项目中,并且在构建时 Xcode 会自动生成所有需要大小(1x、2x、3x)的 PNG。
就个人而言,我只在必要时使用 SVG,比如如果我需要能够更改图像(部分)的颜色。我相信在运行时调整矢量图像的大小可能会影响性能,尽管 Android 默认使用矢量,因此它可能微不足道。
SVG 是最占用资源的,如果您需要显示可以放大和缩小的内容,则可以使用,而对于大多数 UI 图形(徽标、图标等),应该首选 PNG,因为它清晰但仍然轻巧且快速显示,因此无法在性能方面将 SVG 与 PNG 进行比较。如果您要追求清晰的图像,则可以使用基于 pdf 的图形,Xcode 支持在 Xcode 中使用矢量图像
如果您仍然需要实现 SVGKit,我总是建议使用一些工具(如SVGCleaner
)来清理和简化 SVG 以提高性能。