美文网首页flutteralready收藏
Flutter 优化:布局时尽量用 const

Flutter 优化:布局时尽量用 const

作者: 禄子_c79b | 来源:发表于2022-04-06 09:41 被阅读0次

一、说明

看到很多 Flutter 构建 UI 时会比较多用到 const,为什么不直接创建实例,而要在前端加一个 const 呢 ?

child: const Text('加 const');
 
VS
 
child: Text('不加 const');

二、尽量用 const 的理由

当我们调用 setState() 后,Flutter 会调用 build 方法,并且 rebuild 其中的每一个组件,避免全部重新构建的方法就是用 const。
如果一个组件更新频繁(比如动画),用 const 后可以减少垃圾回收。

三、示例

class _MyWidgetState extends State<MyWidget> {
  String title = "Title";
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(title),
      ),
      body: Column(
        children: <Widget>[
          const Text("Text 1"),
          const Padding(
            padding: const EdgeInsets.all(8.0),
            child: const Text("Another Text widget"),
          ),
          const Text("Text 3"),
        ],
      ),
      floatingActionButton: FloatingActionButton(
        child: const Icon(Icons.add),
        onPressed: () {
          setState(() => title = 'New Title');
        },
      ),
    );
  }
}

当你点击 FloatingActionButton 调用 setState 后,所有 const 定义的组件都不会重新构建

相关文章

  • Flutter 优化:布局时尽量用 const

    一、说明 看到很多 Flutter 构建 UI 时会比较多用到 const,为什么不直接创建实例,而要在前端加一个...

  • Android 浅谈性能优化、内存泄漏处理

    1 布局优化 尽量减少布局文件的层级 简单布局优先考虑用 Framelayout 和 LinearLayout ...

  • Android性能优化1

    1.布局优化2.绘制优化3.响应速度优化和ANR日志分析 布局优化 布局优化思想就是,尽量减少布局文件的层级,以便...

  • 安卓性能优化

    布局 绘制 启动 内存 apk 布局优化 布局优化的思路就是尽量避免布局文件的层级,避免OverDraw; Ove...

  • Android性能优化方法

    学习资料 《Android开发艺术探索》 布局优化 思想概述: 尽量减少布局文件的层次(android绘制时的工...

  • 用这三个方法手把手带你了解何为 Android 性能优化?

    Android 性能优化的三个方法 布局优化 布局优化的思想很简单,就是尽量减少布局文件的层级,布局中的层级少了,...

  • Android 性能优化

    一、布局优化 减少布局层级 布局层级越高越复杂消耗性能就越大,所以在设计布局时尽量缩小布局层级数 viewgrou...

  • 小知识

    一. 二.尽量用const代替#define const int a = 10; define a 10; ...

  • Android性能优化-布局优化

    一、删除无用控件和层级 布局优化的思想很简单,就是尽量减少布局文件的层级,布局层级少了,那么Android绘制时的...

  • 第15章 Android性能优化

    1.布局优化 布局优化的思想很简单,就是尽量减少布局文件的层级。 优先使用LinearLayout 而不是Rela...

网友评论

    本文标题:Flutter 优化:布局时尽量用 const

    本文链接:https://www.haomeiwen.com/subject/hvztsrtx.html