Framework
Flutter的框架部分:完全使用Dart语言实现,并且有着清晰的分层架构。分层架构使得我们可以在调用Flutter提供的便捷开发功能(预定义的一套高质量Material控件)之外,还可以直接调用甚至修改每一层实现(因为整个框架都属于“用户空间”的代码),这给我们提供了最大程度的自定义能力。
Framework底层:是Flutter引擎,引擎主要负责图形绘制(Skia)、文字排版(libtxt)和提供Dart运行时,引擎全部使用C++实现,Framework层使我们可以用Dart语言调用引擎的强大能力。
分层架构
![](https://img.haomeiwen.com/i15932947/50c6f25fe6fbfcbd.png)
渲染流程
在Flutter界面渲染过程分为三个阶段:布局、绘制、合成,布局和绘制在Flutter框架中完成,合成则交由引擎负责。
因为Flutter极大地简化了布局的逻辑,所以整个布局过程中只需要深度遍历一次
![](https://img.haomeiwen.com/i15932947/8bcbefcc5988f7d3.png)
![](https://img.haomeiwen.com/i15932947/c0eb8565d1631845.png)
![](https://img.haomeiwen.com/i15932947/0f6a4276f3ed7af2.png)
网友评论