摘要:Flutter 的 UI 构建哲学是“声明式”。本文讲解 StatelessWidget 与 StatefulWidget 的生命周期,并演示如何在鸿蒙设备上进行热重载调试。

前言: 在鸿蒙原生开发中,我们习惯操作组件实例;但在 Flutter 中,你只需要描述 UI 应该长什么样。

一、 核心概念:Widget 树

  • StatelessWidget:静态展示,无状态变化。

  • StatefulWidget:包含状态,通过 setState() 触发界面刷新。

二、 生命周期详解

  1. initState():仅执行一次,用于初始化数据。

  2. build():核心渲染函数,会被多次调用。

  3. dispose():组件销毁时调用,务必在此处关闭监听器或控制器。

三、 避坑指南:热重载 (Hot Reload)

  • 失效场景:修改了全局变量初始化、更改了 initState 逻辑或修改了 native 代码(ArkTS 侧)时,热重载不会生效,必须点击“热重启” (Hot Restart) 或重新运行。

  • 内存陷阱:避免在 build 方法内创建复杂的对象(如 FileDatabase 实例),否则会导致页面滑动卡顿。

总结: 理解了 Widget 的生命周期,你就掌握了控制 Flutter 页面的钥匙。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐