Flutter 2.5版本默认代码新增const修饰符能否删除?添加有什么区别?
问题解答
示例代码中的const是否可以删除?
可以删除,删除后代码不会出现逻辑错误,仍可正常编译运行。
需要注意的是,如果你开启了Flutter官方默认的flutter_lints校验规则,删除const后IDE会弹出「优先使用const常量」的提示警告,但不会阻断编译。
添加const修饰符的差异
const本质是Dart提供的编译期常量声明标识符,针对Flutter Widget场景的差异主要有三点:
- 性能优化:const修饰的Widget会在编译阶段就完成初始化,全局只会生成唯一的实例,即便父组件触发重build,这个const修饰的子组件也不会重新创建实例,能减少不必要的对象销毁重建开销,在频繁重绘的UI场景下能明显提升页面流畅度。
- 内存节省:同一个const修饰的对象不管被引用多少次,都只会占用一份内存空间,不会生成重复的实例,能降低应用整体内存占用。
- 语法约束:被const修饰的构造方法要求所有入参都是编译期常量,能从语法层面避免属性被意外修改,减少潜在的BUG。
内容的提问来源于stack exchange,提问作者Riddhipratim Adhikari
相关产品推荐
相关产品推荐

