6. Flutter你想要的热更新之改善性能

Flutter你想要的热更新之为改善性能

本章将使用两个开源的 Flutter 项目来做性能改善前后的对比:

  • flutter_ui_challenge_filter_menu
  • HistoryOfEverything

为了保证文章时效性,编辑分别在自己的 github 账户中 fork 了以上两个仓库,并分别创建了 flutter_hot_update 分支:

  • flutter_ui_challenge_filter_menu
  • HistoryOfEverything

由于 flutter_ui_challenge_filter_menu 操作简单,所以本章将使用 flutter_ui_challenge_filter_menu 作为 demo 来进行性能改善的先容。

1. 体验 "翔" 的速度

  1. 克隆 flutter_ui_challenge_filter_menu
  2. 参考 3. Flutter你想要的热更新之编译构建engine3.使用本地构建的 engine 章节构建实行。

2. 修改 engine 编译项改善性能

回到 3. Flutter你想要的热更新之编译构建engine2.2 本地构建 engine 章节,根据 Flutter 官方 wiki 大家在生成构建文件是有一个 --unoptimized 参数,官方 wiki 的描述:

`--unoptimized disables` C++ compiler optimizations and does not strip debug symbols.

这里大家通过去掉 --unoptimized disables 参数来实现,性能上的改善。

  1. 生成构建文件

    #进入 src 目录
    cd engine/src
    #生成构建文件(分别生成真机构建文件,模拟器构建文件和服务端构建文件)
    ./flutter/tools/gn --ios && ./flutter/tools/gn --ios --simulator
    
  2. 编译

    #进入 src 目录
    cd engine/src
    #编译(分别编译真机文件,模拟器文件和服务端文件)
    ninja -C out/ios_debug && ninja -C out/ios_debug_sim
    
  3. 使用 ios_debug_sim 参考 3. Flutter你想要的热更新之编译构建engine3.使用本地构建的 engine 章节构建实行。

3. 总结

本章仅仅是去掉了一个 engine 编译选项 --unoptimized disables ,就可以很明显的感受到 Flutter 性能的提升。不难想象在深入的了解 Flutter 及 Dart 之后,在性能方面大家会有更多的事情可以做。

原文地址:https://nuttalk.com/2019/03/10/flutter-hot-update-improve-performance/
GitPages:https://github.com/amisare/amisare.github.io

推荐阅读更多精彩内容

  • 敬重每个孩子的差异,慢慢养。有的孩子天生就有读书的资质,有的孩子没有。没有资质的孩子是用来报恩的,因为读书特别好的...
    李妙语阅读 32评论 0赞 0
  • 三阶的第一次早起运动。 因为太久不运动了,今天选择快走,运动中感觉2条腿到处痒,应该是太久不运动,皮肤肌肉被唤醒,...
    廖忱瑶阅读 22评论 0赞 0