javascript - Android 中的图像停止加载

标签 javascript android react-native fresco

我的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/

相关文章:

ios - 在 React Native iOS 中的图像顶部呈现具有透明背景的文本框

javascript - 将 React Native FlatList 滚动到负偏移

android - 如何将数据从应用程序发送到 AppWidgetProvider?

android - 在多窗口模式下窗口大小为 2/3 时,Activity 不会在方向更改时重新启动

javascript - 如何在谷歌饼图中自动偏移最大切片?

javascript - jQuery 对象字面量函数声明错误

java - 在 android 库项目中使用 Dagger2 在运行时抛出 `NoClassDefFoundError`

react-native - 无法在 React Native >= 0.60 中链接 Assets (字体)

javascript - 如果选中,如何从复选框中获取属性值?

javascript - importvelocity.ui总是返回 'Velocity must be loaded first. Aborting.'