在学习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), // <-------
)
],
);
答案 0 :(得分:6)
const
用于编译时间常数,仅是一种优化。
常量已规范化,无论您的应用执行多久const EdgeInsets.only(top: 8.0)
,总是会有一个实例。
每次执行此代码时,EdgeInsets.only(top: 8.0)
(在const
为默认值的const上下文之外)或new EdgeInsets.only(top: 8.0)
都会创建一个新实例,并且每次都必须进行垃圾回收之后。