Flutter 开发小技巧【Flutter 专题 23】
大家好,我是坚果,目前是华为云享专家,51CTO 博客首席体验官,专注于大前端技术的分享,包括 Flutter,小程序,安卓,VUE,JavaScript。公众号有更多细节。
使用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().
这允许您在日志输出中包含更细的粒度和信息。
我希望这能给你一些见解,使你的 Flutter 代码更具可读性,同时也提高你的应用程序的性能。快乐编码!
版权声明: 本文为 InfoQ 作者【坚果前端】的原创文章。
原文链接:【http://xie.infoq.cn/article/dc9d41c9a7a2a97b46455cd35】。文章转载请联系作者。
评论