来自 react 背景,它有许多生命周期方法,我可以在其中决定是否重新渲染组件。当我有很多组件时,我最近在 flutter 中遇到了性能问题,因为它必须重新渲染所有这些。
我可以做些什么来防止这种重新渲染或对其进行更多控制以决定何时重新渲染而无需遍历小部件树?
最佳答案
通常当您因为渲染太多小部件而遇到性能问题时,您使用的是 ListView 或 GridView。您可以通过使用 ListView.builder() 或 GridView.builder() 方法来防止此性能问题。 ListView.builder 和 GridView.builder 将仅呈现屏幕上的小部件,从而防止出现性能问题。
这里有一些例子:
使用 GridView:
GridView.builder(
gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 2),
itemBuilder: (BuildContext context, int index) => _grid(data[index]),
)
使用 ListView :
ListView.builder(
itemBuilder: (BuildContext context, int index) => _listItem(data[index]),
)
关于dart - 如何防止基于flutter中的自定义逻辑重新渲染小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54084203/