gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 09:10:52 26 4
gpt4 key购买 nike

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

ScrollView 列表:http://blog.getchop.io/2016/03/26/fast-and-fluid-infinite-list-with-react-native/

ListView :https://github.com/remobile/react-native-refresh-infinite-listview

最佳答案

就您的情况而言,您应该特别注意的 ListView 和 ScrollView 之间的主要区别是组件如何呈现子元素。 ScrollView一次性渲染其子元素。 ListView 有一些附加功能,允许您平滑地向下滚动可能无限数量的元素的列表。引用 documentation ,以下是 ListView 中的性能增强功能:

  1. Only re-render changed rows - the rowHasChanged function provided to the data source tells the ListView if it needs to re-render a row because the source data has changed - see ListViewDataSource for more details.

  2. Rate-limited row rendering - By default, only one row is rendered per event-loop (customizable with the pageSize prop). This breaks up the work into smaller chunks to reduce the chance of dropping frames while rendering rows.

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

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

要获得更深入的解释,我强烈推荐 official RN documentation .

关于react-native - 比较React Native中scrollView与listView的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42573224/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com