我的react-native@0.38应用程序有一个问题,它只发生在android设备中,而在ios中它工作得很好。
我有一个主提要 View ,在其中渲染多个图像(就像 instagram/fb 那样),所有图像都来自 Amazon (S3),每个图像有(最大)200kb。另一方面,在每个图像中,我渲染一个数字,该数字指示调用函数 OnLoad() 的次数。
因此,第一次打开应用程序时,图像按预期显示(每个图像显示 load=1),但如果我请求新图像(在 2-3 个新请求之后),新图像将不再显示,并且它显示一个空白容器和 load=0 。我注意到,至少在模拟器中,如果我从设备转到另一个应用程序,然后返回到我的应用程序,某些图像中的负载数会增加+1,并且它们会重新渲染,有些图像会重新渲染。其他人继续显示最后的加载值,并且图像以某种方式丢失(白色容器),但加载了一些新图像,现在显示 load=1 ...
我认为这可能是一个缓存问题,因为它永远不会从 23MB 上升,但我尝试使用react-native-http-cache 清除缓存,但没有任何改变...
这可能与 Fresco 有关吗?
更新:
所以我“解决”了这个问题。我所做的每个请求都包含 15 张图片,每张图片约为 200KB,所以现在我在 API 中实现了“动态”调整大小,900x900px 的图片变为 350x350px,尺寸缩小了约 80%,这似乎有效,因为内存似乎可以更好地处理这些数字,我什至可以下载比以前更多的数据,并且图片按预期呈现在列表中...
最佳答案
我正在处理同样的问题,也是React Native v0.38。在 React Native 中使用大量 Android 图像似乎存在严重错误。
在 RN 网站上被列为已知错误:https://facebook.github.io/react-native/releases/0.23/docs/known-issues.html
更多详细信息请参见:https://github.com/facebook/react-native/issues/8677
关于javascript - Android 中的图像停止加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40914402/