Flutter 记录
Created|Updated|Flutter
|Post Views:
check 环境
1 | |
同意 Android 协议
1 | |
Author: BruceXuheng
Copyright Notice: All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.
Related Articles
2026-08-13
Flutter 202608面试总结
Flutter 202609面试总结 根据202608左右的纯Flutter岗位的面试记录和总结 一、核心结论 Widget 是不可变配置;Element 是树中的持久实例;RenderObject 负责 layout、paint、hit test、semantics。 rebuild、layout、paint、raster 是不同阶段,前者发生不代表后者必然发生。 setState() 同步修改 State,并将对应 Element 标记为 dirty;Widget 不会被标脏。 布局口诀:约束向下传递,尺寸向上传递,父节点决定位置。 Element 复用条件:新旧 Widget 的 runtimeType 与 key 都相同。 mounted 只能保证 State/Context 尚未卸载,不能解决请求乱序或导航栈变化。 不要在 build() 中创建 Future 或 Stream,否则 rebuild 可能重复启动异步任务。 Isolate 默认不共享可变内存;普通网络等待是异步 I/O,通常不需要 Isolate。 RepaintBoundary ...
2026-08-03
Flutter-Widget/Element/RenderObject-三树关系深度解析
Flutter Widget/Element/RenderObject 三树关系深度解析 源码路径:packages/flutter/lib/src/widgets/framework.dart 一、三树模型概述Flutter 的核心架构基于三棵树: Widget Tree:配置层,不可变、轻量,描述”应该是什么样子” Element Tree:状态层,可变、持久,管理 Widget 和 RenderObject 的对应关系 RenderObject Tree:渲染层,负责布局、绘制和命中测试 123456789101112131415161718flowchart LR subgraph "Widget Tree 配置" W1["StatelessWidget"] --> W2["Container"] W1 --> W3["Text"] end subgraph "Element Tree 状态"...
2026-08-03
Flutter Binding 机制深度解析
源码路径:packages/flutter/lib/src/foundation/binding.dart 一、BindingBase 核心定位BindingBase 是 Flutter 框架所有 Binding 的基类,采用 mixin 链式初始化 + 单例 模式。Flutter 框架的7个 Binding(GestureBinding、SchedulerBinding、ServicesBinding、PaintingBinding、SemanticsBinding、RendererBinding、WidgetsBinding)都通过 on BindingBase 约束,在构造时依次完成初始化。 二、BindingBase 初始化流程123456789101112flowchart TD A["BindingBase 构造函数"] --> B["initInstances()"] B --> B1["记录 _debugInitializedType = runtimeType"] B...
2026-08-03
Flutter-框架初始化与帧循环深度解析
Flutter 框架初始化与帧循环深度解析 源码路径:packages/flutter/lib/src/widgets/binding.dart 一、WidgetsFlutterBinding — 七 Mixin 组合123456789101112131415161718192021classDiagram class WidgetsFlutterBinding { +ensureInitialized() WidgetsBinding static } class BindingBase class GestureBinding class SchedulerBinding class ServicesBinding class PaintingBinding class SemanticsBinding class RendererBinding class WidgetsBinding WidgetsFlutterBinding --|> BindingBase ...
2026-08-12
Flutter 开发工程师面试指南
Flutter 开发工程师面试指南 注意:Flutter/Dart 持续演进,线程模型、渲染后端等答案应说明版本和平台语境。 目录 能力模型与面试方法 Dart 语言与运行时 Flutter Framework 与三棵树 布局、绘制、合成与渲染 生命周期、Context、Key 与路由 状态管理与应用架构 网络、缓存、数据层与离线能力 Platform Channel、FFI 与插件 性能优化与 DevTools 稳定性、安全与可观测性 测试、工程化与发布 大型项目架构与团队治理 真实项目与线上故障题 系统设计题 编码与调试题 领导力与行为面试 评分表与录用建议 候选人准备清单与 STAR 模板 1. 能力模型与面试方法1.1 能力矩阵 维度 合格资深 优秀资深 Dart 掌握类型、异步、泛型、空安全 理解 Event Loop、Isolate、编译与内存边界 Framework 理解 Widget/Element/RenderObject 能沿更新、布局、绘制、合成链路定位问题 架构 能组织清晰的数据流与模块边界 能支撑多人...

BruceXuheng
Hi, I'm Xuheng. I'm interested in parkour sports. I'm currently learning rust and moto. BruceXuheng@163.com
Follow meAnnouncement
Hi, I'm Xuheng
I'm interested in parkour sports
I'm currently learning rust and moto
BruceXuheng@163.com
I'm interested in parkour sports
I'm currently learning rust and moto
BruceXuheng@163.com