Flutter开发小技巧【Flutter专题】
使用async
/`await
异步代码难以阅读和调试。该async
/await
语法提高了可读性。
将小部件拆分为子小部件。
当setState()
在状态上调用时,所有后代小部件都将重建。因此,将小部件拆分为小部件,以便setState()
调用实际需要更改 UI 的子树部分。
使用 ListView.builder 获取长列表
在处理无限列表或非常大的列表时,通常建议使用ListView
构建器以提高性能。
默认ListView
构造函数一次构建整个列表。ListView.builder
创建一个惰性列表,当用户向下滚动列表时,Flutter 会按需构建小部件。
在小部件中使用 Const
当 setState 调用时小部件不会改变,我们应该将其定义为常量。它将阻止小部件重建,从而提高性能。
避免使用as
,使用is
运算符
通常,as
如果无法进行强制转换,则cast 运算符会抛出异常。为了避免抛出异常,可以使用is
.
使用if
条件代替条件表达式
很多时候我们需要根据Row和Column中的一些条件来渲染一个widget。如果条件表达式在任何情况下都返回 null,那么我们应该只使用 if 条件。
对文件使用相对路径导入 lib
当同时使用相对导入和绝对导入时,当从两种不同的方式导入同一个类时,可能会造成混淆。为了避免这种情况,我们应该在lib/
文件夹中使用相对路径。
指定类成员的类型
当成员的值类型已知时,总是明确指定成员的类型。var
尽可能避免使用。
避免print()
print()
和debugPrint()
两个用于在控制台登录。如果您使用print()
并且一次输出太多,那么Android有时会丢弃一些日志行。为避免这种情况,请使用debugPrint().
如果您记录的数据有太多数据,则使用dart:developer
log().
这允许您在日志输出中包含更细的粒度和信息。
- 点赞
- 收藏
- 关注作者
评论(0)