<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Widget on Website of SauceWu</title><link>https://saucewu.github.io/tags/widget/</link><description>Recent content in Widget on Website of SauceWu</description><generator>Hugo -- gohugo.io</generator><language>zh</language><lastBuildDate>Tue, 20 Jan 2026 10:00:00 +0000</lastBuildDate><atom:link href="https://saucewu.github.io/tags/widget/index.xml" rel="self" type="application/rss+xml"/><item><title>Flutter 渲染流程与三棵树详解</title><link>https://saucewu.github.io/posts/flutter-%E6%B8%B2%E6%9F%93%E6%B5%81%E7%A8%8B%E4%B8%8E%E4%B8%89%E6%A3%B5%E6%A0%91%E8%AF%A6%E8%A7%A3/</link><pubDate>Tue, 20 Jan 2026 10:00:00 +0000</pubDate><guid>https://saucewu.github.io/posts/flutter-%E6%B8%B2%E6%9F%93%E6%B5%81%E7%A8%8B%E4%B8%8E%E4%B8%89%E6%A3%B5%E6%A0%91%E8%AF%A6%E8%A7%A3/</guid><description>&lt;h1 id="flutter-渲染流程与三棵树详解"&gt;Flutter 渲染流程与三棵树详解&lt;/h1&gt;
&lt;h2 id="目录"&gt;目录&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;一、Flutter 渲染架构全览&lt;/li&gt;
&lt;li&gt;二、三棵树是什么&lt;/li&gt;
&lt;li&gt;三、三棵树的协作流程&lt;/li&gt;
&lt;li&gt;四、各层职责与修改时机&lt;/li&gt;
&lt;li&gt;五、常见场景：该动哪一层？&lt;/li&gt;
&lt;li&gt;六、总结&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;h2 id="一flutter-渲染架构全览"&gt;一、Flutter 渲染架构全览&lt;/h2&gt;
&lt;p&gt;Flutter 的渲染流程从 Dart 代码到屏幕像素，经过了多个层次的处理：&lt;/p&gt;
&lt;pre tabindex="0"&gt;&lt;code&gt;你写的 Widget
↓
Widget Tree（配置描述）
↓
Element Tree（生命周期 + 状态管理）
↓
RenderObject Tree（布局 + 绘制）
↓
Layer Tree（合成）
↓
Skia / Impeller（光栅化）
↓
GPU → 屏幕
&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;这套架构的核心设计目标是&lt;strong&gt;把&amp;quot;描述&amp;quot;和&amp;quot;执行&amp;quot;分离&lt;/strong&gt;，让 Widget 可以廉价重建，而真正昂贵的布局和绘制操作尽量复用。&lt;/p&gt;</description></item></channel></rss>