只导入一次flutter库或dart库

Posted

技术标签:

【中文标题】只导入一次flutter库或dart库【英文标题】:Import flutter library or dart library just once 【发布时间】:2022-01-24 03:51:41 【问题描述】:

我有 main.dart 文件和 home_page.dart 文件

home_page.dart:
______________________________________
import 'package:flutter/material.dart';
/* 
Using flutter lib...
*/
main.dart:
______________________________________
import 'package:flutter/material.dart';
import 'package:mypackage/home_page.dart'; // this library already using flutter material.dart
/* 
Using flutter lib...
*/

我们可以看到,main.dart两次导入flutter库,怕是会浪费存储和内存。

如何一次性导入package:flutter/material.dart

因为我想在单独的文件中重复使用该库/框架。

【问题讨论】:

【参考方案1】:

两次导入库不会占用两倍内存!

当您将库添加到您的依赖项或开发依赖项(在 pubspec.yaml 文件上)时,您会下载依赖项,这包括颤振,任何后续导入只会真正使依赖项的 API 对文件可见。

导入不消耗内存,视情况而定

当您导入颤振时,您是在说。 “你好颤动,我想使用你在material.dart 文件中定义的一些类/变量”你的两个文件都询问颤动,但只有一个 /em> 颤抖。

【讨论】:

【参考方案2】:

首先,不用担心会消耗内存。

另一方面,您可以创建一个文件 imports.dart,然后使用 export

export 'package:flutter/material.dart';
export 'package:http/http.dart' as http;

然后只导入这个文件

import 'imports.dart';

【讨论】:

使用partpart of 关键字怎么样?目前我正在使用自己的解决方案?在 main.dart 我使用import 'package:flutter/material.dart;part 'package:mypkg/home_page.dart;。而 home_page.dart part of 'package:mypkg/main.dart';

以上是关于只导入一次flutter库或dart库的主要内容,如果未能解决你的问题,请参考以下文章

Flutter for Android

【Flutter】引入包import的各种含义,及常用命名规则

库 'package:flutter/material.dart' 是遗留的,不应导入到 null 安全库中

flutte的第一个hello world程序

Flutter基础组件07Appbar

Flutter基础组件07Appbar