0%

概览

  • 了解编译原理,对现代编译器compiler设计有所了解
  • 介绍dart编译器设计, 工程实践上如何设计和实现
  • 了解dart编译器核心代码流转: 核心代码、主要优化
阅读全文 »

背景

Jetpack Compose 是Google推出的一个使用kotlin语言、声明式的UI框.

  • 针对框架的PreCompose优化方案
  • 通过PreCompose方案,深入compose的源码: 介绍有哪些模块, 有什么作用, 未来能做些什么
阅读全文 »

概览

Compose compiler是compose框架的一部分, 本质是一个kcp(kotlin compiler plugin),用于支持编译期针对compose特性进行静态检查和代码生成.

在进入compose的编译之前, 需要事先对kotlin的编译架构、过程以及概念做一些探究储备

阅读全文 »

概览

  • 将上一节中UI线程生成了laytertree,交给GPU线程的rasterizer
  • 调用LayerTreePrerollPaint2个方法,完成所有Layer的绘制前准备以及绘制操作
  • 将纹理化的结果,上屏
阅读全文 »

概览

这一部分的主要工作是WidgetTree转化成LayerTree,主要分为下面几个阶段

  • Animate: 首先执行动画,这个过程可能会改变状态state
  • Build: 重新build脏节点的widget(状态改变)
  • Layout: 对脏节点进行重新的layout
  • Paint: 脏节点重新绘制
  • 更新layertree,提交给gpu线程

流程还是比较清晰、容易理解的

阅读全文 »