merge

merge用于分支的合并

1
2
3
git merge branch_name


参数

-ff:快速合并


–ff-only:只有能快速合并的时候才合并

–no-ff:不使用快速合并,生成一次新的提交记录


Read More

热重载原理

在开发项目中,我们直接点击Hot Reload或Hot Restart按钮可以方便的进行更新,那Flutter是如何实现的呢?

  • 首次编译:第一次启动会生成全量app.dill文件;
  • 增量编译:对修改的文件编译生成app.dill.incremental.dill增量文件;
  • 更新文件:将增量产物推送到设备中;
Read More

编译Flutter源码

Mac下编译Engine

Engine实现了Flutter的核心库,包括动画、图形、文件、网络、访问支持、插件架构、Dart的运行时、编译工具链等

准备工作

1
2
3
4
5
6
7

# 准备depot_tools工具
# 假设当前目录是$HOME/Flutter/source
cd $HOME/Flutter/source
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
#添加环境变量
export PATH=$PATH:$HOME/Flutter/source/depot_tools

下载源码

  1. 进入github的flutter官网,fork一份engine的源码:https://github.com/flutter/engine

Read More