ReactNative Flatlist - Flatlist 项的优化性能

2024-01-24

当我们有大数据时如何优化 Flatlist 的性能。

我的列表既有图像又有文字描述。

我想找到一种方法来提高列表的性能并删除从缓存列表中加载的额外图像以及让清单不重.


FlatList 组件应该是一个高性能的解决方案,用于在应用程序中显示大量数据列表。它仅根据当前可见的项目显示列表中的某些项目。 也就是说,有一些技巧可以帮助使其更快/更轻

  1. 如果您的平面列表项具有相同的高度(假设垂直滚动平面列表),这会有所帮助。在这种情况下,您可以使用 getItemLayout 属性来设置 FlatList 的高度并跳过动态计算https://facebook.github.io/react-native/docs/flatlist#getitemlayout https://facebook.github.io/react-native/docs/flatlist#getitemlayout
  2. 您可能想尝试使用removeClippedSubviews prop来看看它是否有帮助https://facebook.github.io/react-native/docs/flatlist#removeclippedsubviews https://facebook.github.io/react-native/docs/flatlist#removeclippedsubviews
  3. 不要一次加载所有数据,而是在 fetch 调用中使用某种形式的分页(如果可能)。然后,您可以使用 onEndReached 等获取更多数据。
  4. 确保您的 FlatList 仅在应该更新时更新。我通常在包含 FlatList 的组件中使用 shouldComponentUpdate 以确保它仅在其数据更改时更新,而不是在我不关心的其他状态/ prop 变量更改时更新
  5. 如果您的 FlatList 项目包含图像,您应该考虑缓存它们

我确信您还可以做更多事情,但这就是我的:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ReactNative Flatlist - Flatlist 项的优化性能 的相关文章

  • React Native + Redux:最好和首选的导航是什么?

    我想将 Redux 用于 React Native 目前我没有设置数据管理 所以index ios js有以下内容 renderScene route navigator this navigator navigator return
  • 如何在 Android 中实现 React Native UI 组件方法

    我很清楚 对于react native本机模块 我们可以使用 ReactMethod导出一个方法并从 JSX 调用它 但是我们如何在 React Native 原生 UI 组件中做同样的事情呢 在文档中我只看到 ReactProp被提及 如
  • 为什么在 CSS3 中启用硬件加速会降低性能?

    我在 css3 实验中将 10 000 个小 div 元素从浏览器视口的顶部移动到底部 对于此测试 我使用两种不同的方法 使用 GPU 加速translate3D x y z or translateZ 0 无需 GPU 加速 只需调整to
  • 在 React 中存储数据

    我实际上是 React 新手 无法选择在这种情况下存储数据的最佳方式是什么 我有一个包含一些输入的表单 我需要在提交时对这些输入中的所有数据执行一些操作 所有输入都存储在一个组件中 所以 我只需要在提交时获取所有数据 现在我正在尝试选择存储
  • 为什么PostgresQL查询性能随着时间的推移而下降,但重建索引时又恢复了

    根据这个page http www postgresql org docs current static indexes examine html在手册中 indexes don t need to be maintained 然而 我们运
  • 应用程序中 GC 长时间暂停

    我当前运行的应用程序需要最大堆大小为 16GB 目前我使用以下标志来处理垃圾收集 XX UseParNewGC XX UseConcMarkSweepGC XX CMSInitiatingOccupancyFraction 50 XX Di
  • 复杂的 Xpage 部分刷新需要很长时间

    我有一个复杂的 xpage 其中有很多嵌套的自定义控件 每次我执行部分刷新都需要超过 4 秒才能完成 如果我消除了复杂性 它就可以正常工作并且速度如您所愿 我对这个复杂的 Xpage 进行了测试 即使使用部分执行模式 这个简单的测试也需要
  • React Native:约束 Animated.Value

    我正在制作一个 React Native 应用程序 场景是这样的 我希望用户能够平移视图 但不完全按照他想要的方式 我想约束视图被拖动时可以移动的距离由用户 我已经阅读了两者的文档PanResponder and AnimatedAPI 多
  • jest快照测试:如何忽略jest测试结果中的部分快照文件

    问题 忽略 snap 文件测试结果的某些部分 这里的问题是 我的测试中有一些组件具有随机值 我并不真正关心测试它们 有什么办法可以忽略我的 X snap 文件的一部分吗 因此 当我将来运行测试时 它不会给我测试失败的结果 现在您还可以使用属
  • React Native Tab 视图的高度始终等于最高选项卡的高度

    介绍 我有一个 FlatList 它在页脚中呈现一个选项卡视图 此选项卡视图允许用户在一个 FlatList 或另一个 FlatList 之间切换 所以 最后这些是同级 FlatList Problem 第一个 FlatList A 的高度
  • Socket.io 无法与 Android 上的 React Native 配合使用

    我最近正在学习 React Native 并且在使用 Socket IO 时遇到问题 我正在使用最新的 React Native 和 cli 刚刚更新 这是我的代码 import React Component from react imp
  • MySQL 性能 DELETE 或 UPDATE?

    我有一个超过 10 7 行的 MyISAM 表 向其中添加数据时 我必须在最后更新 10 行 删除它们然后插入新行更快 还是更新这些行更快 应更新的数据不是索引的一部分 索引 数据碎片怎么样 UPDATE到目前为止要快得多 当你UPDATE
  • mysql查询先慢后快

    我有 2 个 myISAM 表 分别称为 tests 和 completed tests 一个有 170 个条目 另一个有 118k 条目 当我运行此查询时 SELECT ct archive ct status ct score ct u
  • 使用 Fetch 发生超时错误 - React Native

    我有一个正在运行的用户登录功能 但是 我想在获取时加入超时错误 有没有办法设置一个 5 秒左右的计时器 这样在这个时间之后就会停止尝试获取 否则 一段时间后我就会出现红屏 提示网络错误 userLogin var value this re
  • Itertools 与嵌套循环性能

    我必须生成列表中所有两对项目组合 现在 我知道有两种方法可以实现这一点 嵌套 for 循环和 python 的内置迭代工具 from itertools import combinations foo 1 2 3 4 for i in xr
  • 使用unittest时如何知道每次测试花费的时间?

    Unittest 仅显示运行所有测试所花费的总时间 但不单独显示每个测试所花费的时间 使用unittest时如何添加每个测试的计时 我想 目前不可能 http bugs python org issue4080 http bugs pyth
  • 如何在 React Native 中使用相同的 Firebase 数据库在两个应用程序之间进行通信?

    我有两个不同的应用程序使用相同的实时数据库 在第一个应用程序中 我发送的订单包含一些要保存在数据库中的数据字段 在另一个应用程序中 我只添加一个侦听器 firebase database ref userOrder currentUser
  • 找不到 -lDoubleConversion 的库

    我尝试在 XCode 上构建 但是ld library not found for lDoubleConversion发生错误 我可以建造react native run ios 这可行 但 XCode 无法构建 ld 警告 找不到选项 L
  • 某些设备上的启动画面扭曲

    我在修复 Android 上的启动画面扭曲问题时遇到问题 我正在使用 React Native 请注意 这种情况仅发生在某些设备上 例如 我有一台 Android 版本为 4 2 2 的三星 启动画面不扭曲 而 Android 版本为 8
  • 在 R 中,为什么 sum 与其他方法(例如 cumsum)相比如此慢?

    我正在尝试实现一个需要非常快的函数 主要是因为它一遍又一遍地处理巨大的数据帧 R 总是让我感到困惑 为什么它有时有点慢 而有时又慢得离谱 不幸的是 它从来都不快 不管怎样 我一直认为 如果可能的话 当以某种方式推入 apply sapply

随机推荐