18+ Flutter 技巧和窍门

2025-06-07

18+ Flutter 技巧和窍门

替代文本

在使用 Flutter开发“编程英雄” iOS 应用的过程中,我们发现了一些技巧、窍门和库。如果您是 Flutter/Dart 的新手,其中一些或许能帮到您。👇

1. 只需 10 分钟即可创建简介屏幕

如果你需要一个很棒的介绍画面,但又没有好点子,那么“介绍画面”可以帮你。你一定会大吃一惊。

替代文本

2. 使用 Flutter Snippet

如果您追求效率,Flutter 代码片段将助您成为超级明星。您可以轻松创建常用的 Flutter 类和方法。例如,您可以通过分别输入快捷键 streamBldr 和 singleChildSV 来创建 StreamBuilder Widget 或 SingleChildScrollView Widget。您可以在Android StudioVSCode中使用 Flutter 代码片段。

替代文本

3. 使用 Font Awesome 创建令人惊叹的图标

无需成为设计师,也能在应用中添加令人惊艳的图标。只需使用Flutter 的 Font Awesome,即可在几分钟内创造奇迹。

替代文本

4. 使用get.it享受依赖魔法

一个好的做法是将应用逻辑放在与 Widget 分离的类中,然后在需要的地方注入。例如,我的一个应用需要从多个地方访问 Prefmanger 类来读取和更新存储在 localstorage 中的用户状态。我们使用get_it 函数,以便该类可以作为依赖项注入。

GetIt locator = GetIt.instance;
void setupLocator() async {
var instance = await PrefManager.getInstance();
locator.registerSingleton<PrefManager>(instance,signalsReady: true);
FirebaseDatabase database = FirebaseDatabase.instance;
database.setPersistenceEnabled(true);
locator.registerSingleton<DatabaseReference>(database.reference());
}
//Now you can easily access our prefmanger class like below:
locator<PrefManager>().color = 12 ;
view raw get_it.dart hosted with ❤ by GitHub

5. 使用单例模式重用数据

单例模式意味着该类只有一个实例,并且提供了一个全局访问点。如果使用不当,也很容易出错。我们需要反复访问 ThemeColor 类(暗黑模式或亮黑模式)来设置 Widget 中的主题颜色。👇

6. 使用 const 构造函数避免 Widget 重建

如果要防止不必要的 Widget 重建,请始终使用const构造函数。在下面的代码中,即使调用 setState,BoxDecoration 的实例也将保持不变。

7. 使用dartfmt 的代码格式化

务必添加尾随逗号 (,)。它有助于您使用dartfmt格式化代码。之后,您将能够摆脱使用dartfmt格式化的麻烦。

替代文本

8. 使用扩展运算符编写更简洁的代码

Dart 2.3 引入了一些实用功能,其中我最喜欢的就是 Spread 运算符。当你需要条件 UI Widget 时,它非常有用,尤其是在嵌套条件 UI Widget 的情况下。

9.自定义扩展以减少重复

不要让你的代码变得“湿漉漉”😎。保持“DRY”原则。这里的“DRY”指的是——不要重复自己。因此,你不应该在多个地方重复相同的功能。

在我的应用中,我需要将 HTML 标签转换为 UI 上显示的样式,因为强大的 Flutter 仍然不太支持 HTML 标签。而且,我们需要在多个地方重复下面的代码。因此,我创建了一个可以在任何需要的地方使用的扩展方法。

10. 使用双点和级联运算符减少代码

Dart 有一个单点 (.) 运算符。几分钟前,我们讨论了三个点 (...)。所以,单点和三点运算符都讲完了。你觉得中间还缺少什么吗?你猜对了。我们讨论的是中间那个,双点 (..),也称为级联运算符

当对同一对象进行多个方法调用时,可以使用级联运算符来节省输入时间。

11. 使用安全区域消除 iPhone 缺口

iPhone 10+ 的刘海屏会遮挡部分内容,这很麻烦。Android 系统也可能出现同样的问题。

考虑使用SafeArea 小部件,可以防止恼人的通知栏和手机刘海侵占应用的 UI。它使用 MediaQuery 检查屏幕尺寸,并调整其子 Widget 的尺寸以匹配屏幕尺寸,确保您的应用在 iOS 和 Android 上都能安全使用!

12. 使用 Key 实现高效的 ListView 渲染

为了提高渲染效率,请在每个项目上使用键。这将使列表视图的渲染非常高效。

13. 使用性能覆盖进行高效调试

性能叠加层显示每帧的构建时间,顶部显示 GPU 时间(光栅线程),底部显示 Ui 时间(Ui 线程)。如果在 UI 图中看到红色条,则表示 Dart 代码开销过大。如果在 GPU 图中出现红色竖线,则表示场景渲染开销过大。

替代文本

14.避免在调试模式下进行分析

如果您在调试模式下进行性能分析,您将无法获得准确的性能指示。默认情况下,调试模式比生产模式慢得多。模拟器/仿真器无法反映您的应用在真实设备上的实际运行情况。

15. 使用跟踪来测量执行时间

你可能不知道在卫生间完成任务花了多少时间。不过,你可以使用跟踪功能来查看执行过程花费了多少时间。

16. 使用快捷方式声明多个变量通常,我大多数时候都以这种方式声明变量

但如果你像我一样懒,那么你也可以这样做

17. 智能日志,记录一切

虽然我们习惯于记录字符串消息,但我们也可以传递其他对象,例如 List、Map 或 Set。有关日志级别、logPrinter 和 logOutput 的更多信息,请参阅日志记录器文档

18.像专业人士一样设置跨平台图标

你是否为同时为 Android 和 iOS 版本的应用设置图标而感到困惑?别担心,我会教你两个步骤,使用Flutter Launcher Icon来解决这个问题。首先,设置你的配置文件。

18+。由 Basic Utils 提供支持

在某些关键时刻,你需要额外的能力吗?不妨考虑使用 basic_util。它包含一系列实用方法,能够在恰当的时机提升你的工作效率。更多实用工具,例如 SortUtils、ColorUtils、DateUtils、IterableUtils、CryptoUtils 和 HttpUtils,请参阅basic utils

请告诉我您在开发 Flutter 应用程序时发现的技巧和窍门。

请随意查看我们使用 Flutter 构建的应用程序

文章来源:https://dev.to/shuvojit007/18-flutter-tips-and-tricks-5cjl
PREV
Cookies、Session、本地存储
NEXT
使用 Rust 构建一个简单的 Web 服务器