flutter 常量 const final identical 无状态组件性能优化

75 阅读1分钟
  • const 声明的常量是编译时确定的,永远不会改变
  • final 允许声明后再赋值,赋值后不可改变。声明的变量是运行时确定的。惰性初始化

1.初始化

 const PI = 3.14; //不可改变,编译时候就决定了
  print(PI);
  final time;
  time = DateTime.now(); //运行时,赋值后不可改变

2. identical

  • 用const关键字,创建一个不可变的对象,创建的对象是同一个对象,所以是同一个内存地址
 var d1 = Object();
  var d2 = Object();
  // print(identical(d1, d2)); //false
  // print(identical(d1, d1)); //true

  // 用const关键字,创建一个不可变的对象,创建的对象是同一个对象,所以是同一个内存地址
  // d3和D4共享存储空间
  var d3 = const Object();
  var d4 = const Object();
  print(identical(d3, d4)); //true
  1. const修饰不可变组件的性能优化点

直接看这个文章 zhuanlan.zhihu.com/p/439593118