Flutter 1.17稳定版发布

Flutter 1.17 已发布,这也是2020年的首个稳定版本。更新内容包括对更快的 iOS 性能的 Metal 支持、新的 Material 组件和新的 Network 跟踪工具,以及 Dart 2.8 等。

此版本包含了大量的 bugfix,自 1.12 稳定版发布以来,团队关闭了 6339 个 issue。今年到目前为止,团队关闭的问题数量比打开的要多,净减少大约 800 个问题,这些问题合并自 231 名贡献者提交的 3164 个 PR。查看 flutter.dev site 了解所有 PR 列表。

下面介绍部分值得关注的更新。

移动端性能和体积优化

此版本的更新重点之一是继续在性能和内存方面进行整体优化。团队提到,将应用升级到 1.17 版本,用户将会看到更快的动画、更小的应用和更低的内存占用率。对于默认导航场景(非透明路径),新版的速度将有 20%-37% 的提升。另外,对于简单 iOS 动画的 CPU/GPU 使用率,则会最多降低 40%,具体取决于硬件配置。

应用体积优化方面,官方提供了一个数据,在2019年年底,安卓版 Flutter Gallery Demo 的大小是 9.6MB,现在是 8.1MB,减少了 18.5%。而在内存使用方面,此版本在快速滚动浏览大图片时,内存占用率减少了 70%。当然,具体的性能提升与设备本身内存多少有关。

Flutter 1.17稳定版发布
合并 PR 前后测试应用的内存占用变化(越低越好)

Metal 支持将 iOS 端性能提升 50%

苹果在 iOS 上对 Metal 的支持提供了几乎可以直接访问底层 GPU 的能力,这也是苹果推荐的图形 API。在完全支持 Metal 的 iOS 设备上,Flutter 现在默认使用 Metal,使得 Flutter 应用有了更快的运行速度,平均提升 50% 左右的渲染速度(取决于工作负载)。

Flutter 1.17稳定版发布

对于不完全支持 Metal 的设备(使用旧于 A7 处理器的设备或运行 iOS 10 之前版本的设备),Flutter 则使用 OpenGL 来为旧设备提供原生的渲染速度。详情查看 Flutter wiki。

Material 风格小部件:NavigationRail 和 DatePicker 等

新版本增加了名为 NavigationRail 的小部件,它由 Google Material Design 团队设计并实现,提供了一个响应式的应用导航模型。NavigationRail 非常适合可以在移动和桌面端之间切换的应用程序,因为当应用程序的屏幕尺寸增大时,它可以非常容易切换成 BottomNavigator。

Flutter 1.17稳定版发布

此版本还对 Material 风格的 DatePicker 小部件进行了更新,包括使用新的视觉效果以遵循已升级的 Material 指南,另外就是新的文本输入模式。

Flutter 1.17稳定版发布

Flutter 应用更轻松地使用 Google 字体

开发者可在应用中轻松尝试和使用来自 fonts.google.com 的任何字体。当应用程序准备好发布后,开发者就可以决定用户是通过 API 下载字体,还是直接将字体打包预装在应用中。

Flutter 1.17稳定版发布

其他一些破坏性变化:

  • #45940 弃用 UpdateLiveRegionEvent
  • #49389 快速滚动时延迟图像解码
  • #49391 文本选择溢出 (Android)
  • #50318 实时图像缓存
  • #50733 在 gen_l10n 中生成信息查询结果
  • #51435 从 RouteSettings 中删除 isinitialroute
  • #52781 将 mouse_tracking.dart 移至 rendering

详情查看发布公告。推荐阅读

TIOBE 5月榜单:时隔五年,C语言重返第一

微软开源MsQuic,QUIC的跨平台实现

上游开源项目闭源,相关仓库被GitHub要求下架

从Copyright到Copyleft,聊聊版权与开源协议

Redis 6.0.0 GA

原文出处:微信公众号【局长 开源中国】

原文链接:https://mp.weixin.qq.com/s/-z1b2Mp7eqPq6NJanu5szQ

本文观点不代表Dotnet9立场,转载请联系原作者。

发表评论

登录后才能评论