flutter - 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)
);
}
},
)),
解决方案
StreamBuilder
两者都是相同的(以不同的事实为模Widget
)。
首先,在StreamBuilder
内部执行相同的setState
调用。
推荐阅读
- java - 如何操作验证约束的验证值
- pandas - Pandas:使用其他数据框的索引值创建一个新的数据框
- ios - DTDeviceKit:设备类型空
- javascript - axios 未重定向并从重定向的 url 接收 cookie
- python - 向非线性方程组添加约束
- json - 如何在数据框中爆炸嵌套的json数组
- python - Pyautogui没有点击确切的位置
- python - 如何检查 Python 中另一个元素列表中的元素是否等于 none?
- shopify - Shopify Storefront API - productByHandle 未返回刚刚从先前的 api 调用返回的产品
- linux - 如何阻止 tput bel 在内部闪烁屏幕