在浏览Flatter docs中的布局教程时,

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

康斯特在这里的目的是什么?

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

推荐答案

const表示编译时间常数,只是一个优化.

常量是规范化的,无论你的应用程序多久执行const EdgeInsets.only(top: 8.0)次,总会有一个单一的实例.

只要EdgeInsets.only(top: 8.0)(在常量上下文之外,其中const是默认值)或new EdgeInsets.only(top: 8.0)就会在每次执行这段代码时创建一个新实例,而且垃圾收集之后还必须处理它.

Dart相关问答推荐

Dart中的运算符(){…}做什么?

dart中如何从xpath获取属性值?

如何扩展 Dart 套接字 BroadcastStream 缓冲区大小为 1024 字节?

Dart 中的const关键字放置有什么不同?

polymer.dart 中的@observable 和@published 有什么区别?

Dart,后面带感叹号的标识符

Dart 包对 git repo 子目录的依赖

Flutter | Dart:URI的目标不存在

需要一个SkDeletable类型的值,但得到一个Null类型的值

在 Dart 中定义一个接受参数的 getter

如何根据 Select 的选项卡更改样式?

如何在Flatter中的press/finger/mouse/cursor位置显示菜单

通常由 TextField 创建的 InputDecorator 不能具有无限宽度

如何从目录中获取文件列表并将其传递给ListView?

Flutter DataTable - 点击行

如何突出显示所选卡片的边框?

Dart 中 http 和 HttpClient 的区别

如何在 Dart 中以正确的方式重定向和重新加载?

列表的反向迭代器?

学习 Dart 好还是我必须使用基本的 javascript?