React native 在react native中比较scrollView与listView的性能

React native 在react native中比较scrollView与listView的性能,react-native,React Native,我需要知道这两种方法中哪一种更适合实现具有巨大数据集的高性能列表 滚动视图列表: ListView:在您的例子中,ListView和ScrollView之间的主要区别在于组件如何呈现子元素。一次呈现其所有子元素。ListView还有一些附加功能,允许您平滑地向下滚动潜在无限多个元素的列表。引用,以下是ListView中的性能增强功能: 仅重新呈现更改的行-提供给数据源的rowHasChanged函数告诉ListView是否因为源数据已更改而需要重新呈现行-有关详细信息,请参阅ListViewDa

我需要知道这两种方法中哪一种更适合实现具有巨大数据集的高性能列表

滚动视图列表:


ListView:

在您的例子中,ListView和ScrollView之间的主要区别在于组件如何呈现子元素。一次呈现其所有子元素。ListView还有一些附加功能,允许您平滑地向下滚动潜在无限多个元素的列表。引用,以下是ListView中的性能增强功能:

仅重新呈现更改的行-提供给数据源的rowHasChanged函数告诉ListView是否因为源数据已更改而需要重新呈现行-有关详细信息,请参阅ListViewDataSource

速率限制行渲染-默认情况下,每个可使用pageSize属性自定义的事件循环只渲染一行。这会将工作分成更小的块,以减少渲染行时丢弃帧的机会

使用ScrollView渲染许多动态数据肯定会影响内存使用和性能,因为它会一次渲染所有子组件,并且即使数据没有更改,也会重新渲染组件。因此,如果在本例中只能使用这两种组件中的任何一种,请使用ListView组件

如果您使用的是RN v>=0.43,那么最好的选择是使用FlatList组件。使用它的主要优点是,它仅在需要延迟加载时呈现组件


对于更深入的解释,我强烈推荐。

在您的例子中,ListView和ScrollView之间的主要区别是您应该特别注意组件如何呈现子元素。一次呈现其所有子元素。ListView还有一些附加功能,允许您平滑地向下滚动潜在无限多个元素的列表。引用,以下是ListView中的性能增强功能:

仅重新呈现更改的行-提供给数据源的rowHasChanged函数告诉ListView是否因为源数据已更改而需要重新呈现行-有关详细信息,请参阅ListViewDataSource

速率限制行渲染-默认情况下,每个可使用pageSize属性自定义的事件循环只渲染一行。这会将工作分成更小的块,以减少渲染行时丢弃帧的机会

使用ScrollView渲染许多动态数据肯定会影响内存使用和性能,因为它会一次渲染所有子组件,并且即使数据没有更改,也会重新渲染组件。因此,如果在本例中只能使用这两种组件中的任何一种,请使用ListView组件

如果您使用的是RN v>=0.43,那么最好的选择是使用FlatList组件。使用它的主要优点是,它仅在需要延迟加载时呈现组件

对于更深入的解释,我强烈推荐