在我的应用中,我需要重复使用同一个分隔符 20 次以上。
我应该遵循哪种方式来获得最佳内存性能?
方式 1:
class DividerX extends StatelessWidget {
const DividerX({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Divider(color: Colors.green, height: 22);
}
}
方式 2:
class DividerX {
const DividerX._();
static const Widget divider = Divider(color: Colors.green, height: 22);
}
答案 0 :(得分:1)
第二个。来自Dart's website:
<块引用>Const 意味着对象的整个深层状态可以在编译时完全确定,并且对象将被冻结并且完全不可变。 (...) [Const 对象] 被规范化。这有点像字符串实习:对于任何给定的 const 值,无论对 const 表达式求值多少次,都将创建并重用单个 const 对象。