已关闭,此问题为opinion-based。目前不接受答复。
**想改善这个问题吗?**更新问题,以便editing this post可以用事实和引用来回答。
6天前关闭。
Improve this question
如果同时有多个带有static字段的类示例,则该字段的值将仅在内存中存储一次:
void main() {
final a1 = A();
final a2 = A();
print(a1.b == a2.b); //true
}
class A {
static final _b = B();
final b = _b;
}
class B {}
我看到flutter团队在他们的教程中使用了static final
:
但是在我们的团队中,有一种观点认为它可能是不好的,我们必须完全避免使用static final
。
据我所知,在Java和C#中,静态字段不符合垃圾收集的条件。dart的static final
是真的吗?此外,final
的内存大小将在运行时计算。
为什么以及在哪里可以使用static final
?我们应该避免使用static final
吗?
1条答案
按热度按时间xkrw2x1b1#
静态final字段是一个保持不变的字段,就像java一样,你可以在不示例化类的情况下访问它们。所以他们保存内存。
喜欢
你可以用a