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

在阅读 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 ) 每次执行此代码时都会创建一个新实例,之后垃圾回收也必须处理它。

https://stackoverflow.com/questions/51514386/

相关文章:

email - 使用 Flutter 的电子邮件进行 Firebase 身份验证

dart - Flutter - 显示来自相机的本地镜像

dart - API调用后有状态小部件的 flutter 计时问题

ios - 关闭 Cupertino 对话 Action Flutter

dart - NumberFormat 未找到 flutter

dart - 如何在 flutter 中调整芯片的大小

dart - 根据当前查看的页面更改 AppBar 的颜色和文本

android - 如何在 Flutter 中动态附加到 Column 小部件的子级

dart - flutter 相机插件

flutter - 如何在 Flutter 中实现交错 GridView ?