Mark a Flutter Interview.

dart是值传递还是引用传递。

Dart 的传参方式是值传递??

这个问题群里讨论的半天 最后讨论出来 值传递,

dart的两个队列 microtask event

为什么creatRenderObject是放在widget里面实现

三棵树 分别什么作用

widget 保存配置信息
两个重要方法 createElement
canUpdate 根据type 和key确定是否更新

element
widget关联的实例
framework调用element的mount方法将element插入树 父节点会提供一个位置

renderobject

渲染对象
不定义约束关系
parendData保存

layout
paint
performLayout
markNeedsPaint

setstate实现

里面判断没有mounted和 lifecycle 是created 则报错 在build中调用了setstate

调用markneedsBuild
不活跃或已经设置dirty则返回
所以他的作用就是将element标记为dirty
在下一个vsync到来时 重绘所有标记为dirty的element

在buidScope里调用element的rebuild方法
构建子元素和renderObject创建

然后渲染

怎么在initstate里面拿到context

future或者是addpostframecallback

怎么局部重绘。 通过key持有局部state控制

scrollview viewport 里面实现

dart单线程模型

四个线程理解
platform 主线程
ui gpu io

flutter里key的作用