Flutter 是否会多次导入东西?

问题描述 投票:0回答:2

我正在 Flutter 中制作一个应用程序。我想知道在多个文件中导入相同的内容是否会对性能产生负面影响。例如:

文件 a.dartb.dartc.dart 使用

import 'package:firebase_core/firebase_core.dart';

我应该创建一个新文件 z.dart 来使用此导入并包含我的程序在此导入中所需的所有功能吗?有了这个新文件,我会让其他人使用 z.dart 中的函数,这样导入只会被调用一次。如果它们都导入相同的东西,这有帮助吗?

flutter dart
2个回答
1
投票

答案是否定的(某种程度上)。当 Dart 代码被编译时,它会经历一个称为“tree-shaking”的过程。这基本上意味着从最终构建中删除了所有不必要的代码。

这意味着最终构建将只有一个导入实例,无论有多少文件调用该导入。最终的构建尺寸不会受到影响。唯一的负面影响可能是编译时间慢了几纳秒。

因为负面影响可以忽略不计(如果它们存在的话),所以您决定逐个文件导入还是通用导入文件应该基于使您的代码可维护且易于阅读的因素。


1
投票

答案是否定的。 Flutter 只导入文件一次,仅当文件像这样执行时

new Home() <- all import inside home class will be executed once
© www.soinside.com 2019 - 2024. All rights reserved.