#时隔4年了#4年前用flutter开发海外项目和医疗项目。绘制界面的语法与html还是较类似的。
把这些封印的记忆和技术回顾一下,最开始是开发Android出身的,所以开发起flutter来依旧是用的android studio开发工具。整理下用到的知识点:整理来源:flutter面试题------基础篇(1)-CSDN博客
1、Dart是单线程的。在单线程中以消息循环来运行的。其中敖汉两个任务队列。一个是微任务队列microtask queue。另一个是事件队列event queue。
主线程依赖事件循环处理任务
执行main函数中的同步代码---检查并执行微任务中的所有任务直到队列清空--处理事件队列--检查并执行微任务中的所有任务直到队列清空--处理事件队列--。。。。。。。退出
2、flutte树结构。Widget不可变的ui组件。Element为Widget的实例对象,管理生命周期。
RenderObject负责布局和设置。
3、Widght组件:
1)StatelessWidget无状态组件:不更变,所有状态一旦创建无法更改内部状态,所有属性均为final类型。仅构建一次,build()
方法返回固定的UI结构,如静态显示内容(如纯文本,图标)无需响应交互变化的ui结构。
2)SatefulWiget 有状态组件,状态可变,可根据State对象管理动态数据。调用setState触发UI更新。如按钮点击,数据实时更新计时器等。