首页 > 解决方案 > Flutter 性能 - SetState 与 StreamBuilder

问题描述

在 Flutter 中,与高负载处理相比,哪种方式具有更高的性能?

假设我们正在收听每秒发出大约 1000 个消息的流。哪种方式会有更多的表现?

1) 使用 setState() 之类的

stream.listen((msg) => setState(() => _msg = msg)

然后在构建方法中

return Text(_msg);

2) 使用流生成器

StreamBuilder(
              stream: stream,
              builder: (context, snapshot) {
                if (snapshot.hasData) {
                  return Text(snapshot.data)
                  );
                }
              },
            )),

标签: flutter

解决方案


StreamBuilder两者都是相同的(以不同的事实为模Widget)。

首先,在StreamBuilder内部执行相同的setState调用。


推荐阅读