【问题标题】:Role of Const in defining EdgeInsets in Flutterconst 在 Flutter 中定义 EdgeInsets 中的作用
【发布时间】:2019-01-02 00:09:36
【问题描述】:

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

【问题讨论】:

    标签: dart flutter flutter-layout


    【解决方案1】:

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

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

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

    【讨论】:

    • 感谢您快速简单的解释
    猜你喜欢
    • 2020-08-24
    • 1970-01-01
    • 2021-03-11
    • 2010-09-26
    • 1970-01-01
    • 2020-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多