dart - const 在 Flutter 中定义 EdgeInsets 中的作用

标签 dart flutter flutter-layout

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

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),  // <-------
      )
    ],
  );

最佳答案

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

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

只需 EdgeInsets.only(top: 8.0) (在 const 为默认值的 const 上下文之外)或 new EdgeInsets.only(top: 8.0 ) 每次执行此代码时都会创建一个新实例,之后垃圾回收也必须处理它。

关于dart - const 在 Flutter 中定义 EdgeInsets 中的作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51514386/

相关文章:

google-chrome-extension - 在Dart中创建Web客户端

dart - fileSystem.chooseEntry from package :chrome/app. dart 生成运行时错误

dart - Dart Flutter 如何在后台上传文件到服务器?

android - Flutter:如何修复 "A RenderFlex overflowed by pixels "错误?

dart - Stack inside Stack 在 flutter 中

dart - 如何根据第一个流中的事件初始化第二个流?

flutter - Dart/flutter : List of days in a date range

firebase - Flutter Crashlytics 日志捕获异常

ios - Flutter::iOS多种方案不同的Firebase项目

listview - 如何通过ListView.Custom类型创建ListView