dart - 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), // <-------
)
],
);
解决方案
const
用于编译时间常数,只是一种优化。
常量是规范化的,无论您的应用程序执行的频率如何const EdgeInsets.only(top: 8.0)
,总会有一个实例。
只是(在默认情况下EdgeInsets.only(top: 8.0)
的 const 上下文之外)或者每次执行此代码时都会创建一个新实例,并且垃圾收集必须在之后处理它。const
new EdgeInsets.only(top: 8.0)
推荐阅读
- django - 按外键分组和计数
- istio - Istio-pilot 领事支持
- python - Python 中的 SARIMA 和 ARIMA 预测预测错误
- c++ - 如何使用 C++ boost::asio 使缓冲区中的 async_write_some() 数据参数动态化?
- amazon-web-services - Amazon Linux 2 OpenVPN 客户端包不可用?
- node.js - 如何使用 Node.js 中的层在 AWS SAM 模板中使用 lambda 中的共享代码?
- javascript - 使用 chart.js 在雷达图中显示点值
- node.js - Firebase Nodejs - 获取 listCollections 之后
- python - 在 Spyder ModuleNotFoundError 中:没有名为“plotly”的模块
- android - 在过渡片段上旋转屏幕会保存之前和过渡片段的实例