首先,感谢您花时间打开并阅读本文。所以! 我需要指出的是,我刚刚在 4 周前从 react Web 开发开始原生反应。
基本上,我正在制作一个应用程序,我需要导入一个名为"cityData.json"的相当大的JSON文件,大小约为23.8MB。
这是我需要 JSON 的示例代码。
const cityData = require('./dataFolder/cityData.json');
JSON 数组的一个元素看起来像这样......
{ "id": 707860, "name": "Hurzuf", "country": "UA", "coord": { "lon": 34.283333, "lat": 44.549999 } },
而且有很多这样的元素。 每当我使用 react-native run-android 运行代码时,我都会从捆绑器那里得到内存问题。
这是它的外观的屏幕截图...
节点终端截图
我花了大约 3 个小时搜索为什么会发生这种情况,很多人建议如何不应该转译某些东西?关于转型的事情?对不起,就像我说的我是新手。然后他们建议我"忽略":使用 .babelrc 或 package.json 与我的 JSON 文件交互的捆绑包?我不太确定他们的意思。我不明白 **/*.js 语法。但我确实知道一个事实,每当我传入较小的 JSON 文件时,它都会完美加载。只是这个 JSON 文件太大了!那个进度条就是不会移动...
正如你在读完那段话后看到的那样,我对与 babel 和捆绑包有关的任何事情都非常糟糕。所以希望你们(比我更有经验(可以帮助我!
注意:我尝试将"忽略"添加到package.json和.babelrc文件中,但我很确定我做错了。
感谢您的阅读,希望我们能解决它!
将<application android:largeHeap="true" ...>
添加到AndroidManifest.xml
文件中。
试试这个 JSON 读取器,它会在回调中为你提供 JSON 元素
https://www.npmjs.com/package/big-json-reader