首页 > 解决方案 > 我应该对大量数据使用 AsyncStorage 吗?

问题描述

我们希望为我们的 react-native 应用程序实现离线模式。我们将处理大量数据(大约 40-50mb)。它是一个近似数组。16000 个对象。据我所知,有两种方法可以保存这些数据。

  1. 使用 AsyncStorage - android 有 6mb 的限制,但我在某处读过,它可以增加。

  2. 使用 json 文件 - 使用react-native-background-downloader将该数据下载为 json 文件,然后使用react-native-fs保存并在用户没有连接到互联网时加载它。

我个人认为第二种选择更好,即使它需要文件存储权限。

我是否遗漏了其他需要考虑的因素?还有其他离线访问选项吗?

标签: react-nativeoffline-cachingasyncstorageofflineapps

解决方案


最后选择退出使用 json 文件,因为 android 存在限制。在加载应用程序时,我获取这些数据并将它们加载到 mobX 存储中的变量中。其功能与任何变量相同。我担心手机会对数组中的 16000 个对象进行排序有问题,但到目前为止还没有关于这件事出错的报告。(现在生产4-5个月)

所以基本上当你点击“启用离线模式”时,我会询问文件存储权限并使用 react-native-fs 下载文件。然后在应用程序的下一次启动时,我只是从 JSON 文件中读取数据。


推荐阅读