在React Native中需要太多图像的麻烦

Nak*_*kib 6 javascript reactjs react-native

我有javascript文件,如下所示.它有很多对象(1000+).因为我们不能在react-native中使用动态名称,所以这是我的工作.

"grinning": {
        "image": require('./images/1f600.png'),
        "shortname": ":grinning:",
    }
Run Code Online (Sandbox Code Playgroud)

我要求此文件在其他一些反应原生函数和循环显示所有图像.但是在javascript文件中需要太多图像时出现内部错误.

{"type":"InternalError","message":"react-packager has encountered an internal error, please check your terminal error output for details"}
Run Code Online (Sandbox Code Playgroud)

在终端,它说

fs operation timeout
Run Code Online (Sandbox Code Playgroud)

如果我从文件中删除几个条目,这是有效的.

任何建议或更好的方法

dam*_*net 2

负责处理图像的 Fresco 库存在已知问题和内存限制:

PNG 图像的内存问题

React Native Android 依赖 Fresco 来加载和显示图像。目前我们已禁用下采样,因为它是实验性的,因此在加载大型 PNG 图像时可能会遇到内存问题。

因此,如果可以的话,可以尝试压缩图像,并且仅在必须渲染时才需要它们。

您还应该检查错误跟踪器。这是一个类似的问题及其修复:

@phones24 写道:

我优化了我的应用程序,因此它不会缓存太多图像。我还添加了更多 JPEG 压缩并将图像缩小了一点。我还编写了一个向事件添加错误信息的路径。