Flutter 3.38 真的更快吗?基准测试与对比

718 阅读5分钟

将营销炒作与可衡量的现实区分开来——基准测试实际揭示了 Flutter 最新版本哪些信息

Flutter 3.38 于 2025 年 11 月 12 日发布,包含 145 位贡献者的 825+ 次提交。当然,有些文章声称它会带来立竿见影的巨大性能优势,但实际体验如何呢?营销炒作可以天马行空,但在可衡量的现实面前却并非如此。

欢迎关注我的公众号:OpenFlutter,感谢

🗣️ 现实检验:别光听宣传!

Flutter 3.38 到底有没有变快?官方文档没把性能提升当成这次发布会主打的卖点

跟以前的版本不一样:

  • Flutter 3.0 主打渲染优化,让界面跑得更快。
  • Flutter 3.7 专注于内存管理,让 App 占用更小。

这次 3.38 主要关注的是这些方面:

  • Dart 3.10 的“点”语法: 让代码写起来更简洁。
  • 小组件预览器(Widget Previewer)加速: 让你开发 UI 更快。
  • 系统兼容性: 支持最新的 iOS 18(UIScene)和 Android 的 16KB 页面大小。
  • 颜色和覆盖层: 引入了广色域支持和 Overlay 管理的一些重要变动。

📊 实际数字到底说明了什么?

🔧 编译性能 (Build Performance)

虽然有些文章提到了构建系统有改进(主要是 Linux 上的 GTK 渲染),但官方没有正式的基准测试数据,来证明那些“编译速度快 40%”之类的说法是真的。

实际开发者测试结果:

  • 从 3.35 升级到 3.38 后,首次冷编译时间基本没差(差异在 5% 以内)。
  • **热重载(Hot Reload)热重启(Hot Restart)**的速度也差不多。

🏃 运行时性能 (Runtime Performance)

3.38 在底层引擎确实做了一些优化:

  • 改进了 Linux 桌面应用的 GTK 渲染
  • 优化了 OpenGL 的合成
  • Impeller 渲染引擎继续在进步(但还在完善中)。

影响分析: 这些改进主要对 Linux 桌面应用有帮助。对于我们日常使用的 Android 和 iOS 手机应用来说,运行速度的提升感受不明显

💾 内存管理 (Memory Management)

3.38 修复了一些图片加载和释放的 Bug,可以防止某些场景下的内存泄漏。但 App 基础的内存占用量,和以前的版本是持平的


📈 纵观 Flutter 性能变化史

我们来看看 3.38 在性能系列中的位置:

  • Flutter 3.0 (2022 年 5 月): 宣布 Web 渲染性能提升,FPS 提升 11%–28% 。这是最后一次“大”性能版本
  • Flutter 3.7 (2023 年 1 月): 通过内存优化,App 占用体积减少了 10%–15%
  • Flutter 3.10–3.35 系列: 主要是性能微调、稳定性和 Bug 修复。
  • Flutter 3.38 (2025 年 11 月): 更注重开发者效率和平台集成,而不是追求更高的原始性能。

✨ 真正重要的性能改进

3.38 没有承诺大幅提高运行速度,但它增加了一些可以间接提升开发体验的功能:

  1. 小组件预览器(Widget Previewer)升级: 速度更快,功能更多。你可以瞬间看到 UI 变化,不需要完整重新编译。这能节省大量迭代设计的时间
  2. “点”语法(Dot Shorthand): Dart 3.10 引入的这个语法,让常用代码的冗余度减少了大约 20% 。代码更清晰,自然就更容易理解和维护——这也是另一种形式的“性能”提升!
// Before
Column(
  mainAxisAlignment: MainAxisAlignment.start,
  crossAxisAlignment: CrossAxisAlignment.center,
)

// After (Flutter 3.38 + Dart 3.10)
Column(
  mainAxisAlignment: .start,
  crossAxisAlignment: .center,
)

3. 平台稳定性

为了让应用能在最新的 iOS 18Android 设备上正常运行,减少崩溃,并表现得更流畅——可靠性本身也是一种性能

基准测试您的应用

所以,问题来了:Flutter 3.38 真的优化了您的应用性能吗?以下是衡量方法:

# Benchmark frame rendering
flutter run --profile --trace-skia

# Measure app startup time
flutter run --profile --trace-startup

# Memory profiling
flutter run --profile
# Then use DevTools Observatory

保持代码和测试条件在不同版本间的恒定

在运行 Flutter 3.35(或您现有的版本)和 3.38 时,保持代码和测试条件恒定不变,然后对比结果。

结论

Flutter 3.38 更快吗?没有戏剧性的提升,但对大多数开发者来说肯定有一点点

  • Linux 桌面应用: 在某些渲染场景中有所改进。
  • Android/iOS 应用: 基本上与 3.35–3.37 相同
  • Web 应用: 没有显著变化。
  • 开发流程: 通过 Widget Previewer简洁的语法实现了“页面优先”的开发。

Flutter 3.38 是一个可靠、完善的版本,它将开发者体验平台兼容性置于纯粹的性能之上。如果您期望性能有 40% 的飞跃,那么您可能会失望。但是,如果您追求整洁的代码、更好的工具稳定的平台支持,那么您会感到满意。

您应该升级吗?

如果满足以下条件,请升级:

  • 需要 iOS 18Android 上的 16KB 页面大小支持。
  • 需要开发者工具的改进(例如 Widget Previewer)。
  • 您正在构建 Linux 桌面应用

如果满足以下条件,请等待:

  • 您目前使用的稳定版本对您来说运行良好。
  • 性能是您唯一的顾虑
  • 您使用的 API 需要迁移(需要更多时间)。

Flutter 团队的工作仍在稳步推进中。3.38 在性能方面算不上一次革命,但它是框架发展过程中值得信赖的一步。最好的更新有时就是那些仅仅是让一切运行得更好的更新,即便这些改进不足以登上新闻头条。