首页 > 解决方案 > const 在 Flutter 中定义 EdgeInsets 中的作用

问题描述

在阅读颤振文档中的布局教程时,我遇到了

margin: const EdgeInsets.only(top: 8.0),

这里 const 的目的是什么?例如

  return Column(
    mainAxisSize: MainAxisSize.min,
    mainAxisAlignment: MainAxisAlignment.center,
    children: <Widget>[
      Icon(icon, color: color,),
      Container(
        margin: const EdgeInsets.only(top: 8.0),  // <-------
      )
    ],
  );

标签: dartflutterflutter-layout

解决方案


const用于编译时间常数,只是一种优化。

常量是规范化的,无论您的应用程序执行的频率如何const EdgeInsets.only(top: 8.0),总会有一个实例。

只是(在默认情况下EdgeInsets.only(top: 8.0)的 const 上下文之外)或者每次执行此代码时都会创建一个新实例,并且垃圾收集必须在之后处理它。constnew EdgeInsets.only(top: 8.0)


推荐阅读