应用程序大小
虽然 Tauri 默认提供非常小的二进制文件,但稍微推一下极限也无妨,因此这里有一些技巧和建议,以达到最佳效果。
Cargo 配置
您可以对项目进行的最简单的前端无关的大小优化之一是为其添加一个 Cargo 配置文件。
根据您使用的是 stable 还是 nightly 的 Rust 工具链,您可以使用的选项会有所不同。除非您是高级用户,建议您坚持使用稳定版工具链。
[profile.dev]incremental = true # 以较小的步骤编译您的二进制文件。
[profile.release]codegen-units = 1 # 允许 LLVM 执行更好的优化。lto = true # 启用链接时优化。opt-level = "s" # 优先考虑小的二进制文件大小。如果您更喜欢速度,请使用 `3`。panic = "abort" # 通过禁用 panic 处理程序来提高性能。strip = true # 确保移除调试符号。
[profile.dev]incremental = true # 以较小的步骤编译您的二进制文件。rustflags = ["-Zthreads=8"] # 提高编译性能。
[profile.release]codegen-units = 1 # 允许 LLVM 执行更好的优化。lto = true # 启用链接时优化。opt-level = "s" # 优先考虑小的二进制文件大小。如果您更喜欢速度,请使用 `3`。panic = "abort" # 通过禁用 panic 处理程序来提高性能。strip = true # 确保移除调试符号。trim-paths = "all" # 从您的二进制文件中移除潜在的特权信息。rustflags = ["-Cdebuginfo=0", "-Zthreads=8"] # 提高编译性能。
参考资料
- incremental: 以较小的步骤编译您的二进制文件。
- codegen-units: 以牺牲编译时间优化为代价,加快编译时间。
- lto: 启用链接时优化。
- opt-level: 确定编译器的关注点。使用
3
来优化性能,使用z
来优化大小,使用s
以达到两者之间的平衡。 - panic: 通过移除 panic unwind 来减少大小。
- strip: 从二进制文件中剥离符号或调试信息。
- rpath: 通过将信息硬编码到二进制文件中,帮助找到二进制文件所需的动态库。
- trim-paths: 从二进制文件中移除潜在的特权信息。
- rustflags: 在每个配置文件的基础上设置 Rust 编译器标志。
-Cdebuginfo=0
: 是否应在构建中包含调试信息符号。-Zthreads=8
: 增加编译期间使用的线程数。
© 2025 Tauri Contributors. CC-BY / MIT