我的列表包含图像和文本说明。
我想找到一种方法来提高列表的性能,并删除从缓存列表加载的额外图像,并使列表不重。
有一种叫做PureComponent的东西。如果你创建你的FlatList
项目为PureComponent
,你会看到很多改进。它不会重新呈现项目,直到数据已更改。
像这样的东西:
class MyListItem extends React.PureComponent {
}
甚至Nino9612 react-native-optimized-flatlist建议的库也使用相同的概念,因为你可以看到他们的FlatListItem的代码
FlatList组件应该是一个高性能的解决方案,用于在您的应用程序中显示大型数据列表。它仅根据当前可见的项目显示列表中的某些项目。也就是说,有一些技巧可以帮助它更快/更轻
我相信你还能做更多的事情,但那是我的意思:)
有多个npm软件包有望提高默认的react-native flatlist的性能,例如https://www.npmjs.com/package/recyclerlistview#demo或https://github.com/stoffern/react-native-optimized-flatlist。我没有测试它们,但它们似乎提高了整体性能。如果您不使用本地数据但使用从网络接收的数据,您可能需要查看分页以提高列表速度以及(移动)数据使用情况