从Flutter来源
class Color { /// Construct a color from the lower 32 bits of an [int]. /// /// The bits are interpreted as follows: /// /// * Bits 24-31 are the alpha value. /// * Bits 16-23 are the red value. /// * Bits 8-15 are the green value. /// * Bits 0-7 are the blue value. /// /// In other words, if AA is the alpha value in hex, RR the red value in hex, /// GG the green value in hex, and BB the blue value in hex, a color can be /// expressed as `const Color(0xAARRGGBB)`. /// /// For example, to get a fully opaque orange, you would use `const /// Color(0xFFFF9000)` (`FF` for the alpha, `FF` for the red, `90` for the /// green, and `00` for the blue). const Color(int value) : value = value & 0xFFFFFFFF;
const实例被规范化。
如果您
const Color(0xFF00CCFF)的代码中有多个实例,则只会创建一个实例。
const实例在编译时评估。在Dart VM中,这是加载代码的时间,但是在Flutter生产中,将使用AoT编译,因此const值会带来很小的性能优势。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)