flutter 构建上的 Tree-Shaking“MaterialIcons-Regular.otf”

问题描述 投票:0回答:1

当我使用

flutter build apk
构建我的 flutter 项目时,此日志显示:

字体资源“MaterialIcons-Regular.otf”进行了 tree-shaken,将其从 1645184 字节减少到 8776 字节(减少了 99.5%)。构建应用程序时可以通过提供 --no-tree-shake-icons 标志来禁用 Tree-shaking。

根据我的研究

tree-shaking
是消除死代码。我想这个“Materialicons-Regular.otf”在我的代码中,但我从未使用过它。我在我的 lib 文件 pubspec.yaml 中搜索,没有一个文件提到这一点。

我想知道,“Materialicons-Regular.otf”是颤动项目初始化附带的吗?如果没有,因为我觉得我没有使用它,我该如何删除它?所以也许我可以减少我的项目规模。

谢谢你。

我的扑动医生:

[✓] Flutter (Channel stable, 3.22.2, on macOS 15.0 24A335 darwin-arm64, locale
    en-ID)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.1)
[✓] VS Code (version 1.93.1)
[✓] Connected device (4 available)
[✓] Network resources

• No issues found!
flutter
1个回答
0
投票

MaterialIcons-Regular.otf 包含通过

Icons
类在 Flutter 项目中使用的材质图标。如果您的
pubspec.yaml
文件中存在 uses-material-design: true 标志,则此文件将包含在您的项目中。

要从项目中删除 MaterialIcons-Regular.otf,只需删除此标志即可。但是,请小心:许多默认的 Material 小部件(例如

DropdownButton
)都依赖于这些图标。如果您删除它们而不替换它们使用的小部件或图标,您将遇到诸如丢失的图标被“X”符号替换之类的问题。

这是相关 pubspec.yaml 行的示例:

flutter:
  uses-material-design: true # Remove or comment out this line to exclude Material Icons

也就是说,如果您使用 Material 小部件,通常建议保留该标志。 Flutter 的 tree-shaking 过程会自动删除所有未使用的图标,只留下项目主动需要的图标。这可确保 MaterialIcons-Regular.otf 文件保持优化状态,并且不会不必要地增加应用程序的大小。

© www.soinside.com 2019 - 2024. All rights reserved.