与直接使用 SVG 相比,使用 FlutterIcons 是否有任何性能提升?

Dan*_*ico 8 icons svg android ios flutter

例如,使用fluttericon或 fluttericon 而不是直接使用flutter_svgsvg直接使用每个图标是否有任何性能增益或任何其他优势?

Gui*_*oux 3

这个问题有点老了,所以你可能已经找到了答案,但这是我对此主题的看法:

演出

在性能方面,虽然flutter_svg包随着时间的推移已经有了很大的改进,但它仍然是一个复杂的小部件,它将解析 SVG 文件并尝试使用其属性来渲染它。每当您尝试显示大量 svg 小部件时,仍然存在一些与性能相关的问题:

fluttericon或任何其他通过字体提供更多图标的包之类的解决方案将始终提供更好的渲染性能,因为它就像渲染文本一样简单。

现在,在fluttericon和fluttericon.com 网站生成的字体文件之间选择哪一个?

Fluttericon(包)与 FlutterIcon(网页)

正如Ravindrailikerobots所说,直接导入包fluttericon会增加应用程序的大小,因为它将包含所有字体包。包的 README 文件中也提到了这一点:

请注意,由于尺寸较大,该包不适合生产使用。相反,它可以用作开发辅助工具来帮助识别/测试图标。

对于生产使用,强烈建议使用FlutterIcon自定义图标包,将图标字体限制为所需的图标,并从自定义 SVG 构建您自己的图标包。

结论

因此,就性能和应用程序大小而言,最佳选择是使用 FlutterIcon 并且仅选择要包含在应用程序中的图标。该包只能用于在开发时尝试哪个图标适合您的需求。

最后,如果您需要显示一些无法使用 FlutterIcon 准确导入的复杂 SVG,则应该主要使用 flutter_svg 包。