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

时间:2016-07-14 20:25:10

标签: javascript reactjs react-native

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

"grinning": {
        "image": require('./images/1f600.png'),
        "shortname": ":grinning:",
    }

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

{"type":"InternalError","message":"react-packager has encountered an internal error, please check your terminal error output for details"}

在终端中说

fs operation timeout

如果我从文件中删除少量条目,则此方法有效。

任何建议或更好的方法

1 个答案:

答案 0 :(得分:2)

Fresco库有known issues负责处理图像和内存限制:

  

PNG图像的内存问题

     

React Native Android取决于Fresco   用于加载和显示图像。目前我们已禁用   下采样因为它是实验性的,所以你可能会遇到内存   加载大型PNG图像时出现问题。

因此,如果可以的话,可以尝试压缩图像,只有在需要渲染时才需要它们。

您还应该查看bug tracker。这是一个comparable issue及其修复:

  

@ phones24写道:

     

我优化了我的应用,因此没有缓存过多的图片。我还补充道   更多的JPEG压缩和缩小图像。我也   写了一条路径,为事件添加错误信息。