两种代码执行相同的工作:

ColoredBox(
  color: Colors.blue,
  child: SizedBox.fromSize(size: Size.fromRadius(100)),
)


Container(
  color: Colors.blue,
  child: SizedBox.fromSize(size: Size.fromRadius(100)),
)

因此,当ColoredBox仅仅支持color也提供的一个属性Container时,使用ojit_code有什么好处?

最佳答案

您的第二个代码

Container(color: Colors.blue, child: ...)

会导致使用BoxDecoration绘制背景颜色的小部件层次结构。
BoxDecoration除了覆盖背景色以外,还涵盖了许多其他情况,因此它的效率不及ColoredBox小部件,后者仅绘制背景色。

TL; DR:

如果您的用例仅提供背景颜色,请使用ColoredBox而不是Container

09-11 05:44