React Native - 消耗太多 RAM,但没有在具有大数据的 FlatList 中释放

问题描述 投票:0回答:1

在 React Native 项目中,使用 React 查询在提要中引入无限滚动 - RAM 消耗越来越多,但没有释放看不见的组件的内存(从几乎 170 mb 开始,达到 2 GB 和应用程序)崩溃)。

非常感谢任何帮助。

"react-native": "0.72.4", "@tanstack/react-query": "^4.29.17"

页面无限滚动,每 10 个项目就会调用分页 API,每次滚动 RAM 都会增加,并且必须处于平均大小。并且必须释放内存来处理窗外的物品。

预计会发生内存泄漏,但仅返回文本,并且仍在增加内存,但计数较少

react-native memory-leaks react-native-flatlist infinite-scroll react-query
1个回答
0
投票

并且必须释放内存以处理窗外的物品。

React Query 将数据缓存在内存中,因此不能仅仅因为它超出了视口而将其释放。

v5 中有一些改进:

  • maxPages - 限制存储在缓存中的页面数量的新选项
  • 细粒度持久性 - 一个实验性插件,用于将查询卸载到外部存储,以便您可以在未使用时将其从内存中删除

根据您的情况,请尝试

maxPages
选项。

© www.soinside.com 2019 - 2024. All rights reserved.