提问Flutter如何优化性能?

  1. 控制刷新范围
    例如: 使用StreamBuilder 或者 FutureBuilder , 又或者StatefulWidget控制在局部调用setState
  2. 控制刷新次数(避免无效刷新)
    例如: 在判断是否可输入时,设置标志位,当两次状态不一样时进行刷新, 或者使用状态机
  3. 预构建Widget(原理基于刷新次数)
    例如: AnimatedBuilder 下善于使用child
  4. 复用
    例如:尽可能使用const , 添加GlobalKey, ValueKey
  5. RepaintBoundary
    例如:刷新次数多的地方,在使用图片包一个
  6. 尽可能使用List.builder 、 GridView.builder等 动态实现列表
  7. 耗时计算使用隔离执行
  8. Clip部件的behavior参数建议使用Clip.hardEdge或者Clip.antiAlias
请登录后发表评论

    没有回复内容