我的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
如果我从文件中删除少量条目,则此方法有效。
任何建议或更好的方法
答案 0 :(得分:2)
Fresco库有known issues负责处理图像和内存限制:
PNG图像的内存问题
React Native Android取决于Fresco 用于加载和显示图像。目前我们已禁用 下采样因为它是实验性的,所以你可能会遇到内存 加载大型PNG图像时出现问题。
因此,如果可以的话,可以尝试压缩图像,只有在需要渲染时才需要它们。
您还应该查看bug tracker。这是一个comparable issue及其修复:
@ phones24写道:
我优化了我的应用,因此没有缓存过多的图片。我还补充道 更多的JPEG压缩和缩小图像。我也 写了一条路径,为事件添加错误信息。