React Native - 图像加载非常缓慢,根本没有
React Native - Images loading extremely slowly, not at all
我正在使用 Expo/RN 创建一个应用程序,作为网络调用的结果,第一个屏幕加载了相当数量(~20)的图像。我只在 iOS.
工作
我的问题是图像加载速度极慢,大多数加载大约需要一分钟,有些根本不加载,而是保持黑色。我正在使用内置的图像组件,源对象中提供了 url。在 Safari 中加载移动网站时,图像会立即加载。
此外,内置缓存似乎根本不起作用。当一个图像已经加载并且应该在多个地方显示时,它通常根本不会出现在第二个地方。我试过使用 "force-cache" 没有效果。
我已经尝试过包 react-native-fast-image,它不会 运行,以及 react-native-expo-image-cache,它给了我一些结果,但内存泄漏问题和 UI冻结。
有什么解决办法吗?我应该只创建自己的缓存组件吗?
编辑:图像加载到 FlatList 中。每个项目都由一个自定义组件呈现,包括一个 .该图像只是将 url 作为
<Image
style={[styles.image, smallCell ? { width: smallCellWidth } : {}]}
source={{ uri: project.imageUrl, cache: "force-cache" }}
opacity={0.85}
/>
事实证明,最大的问题不在 RN 端,而是使用的 API 呼叫。我从服务器下载原始大小的图像,而不是调整后的图像,它们太大了,我得到了上面的结果。
不过,使用force-cache确实对我有很好的效果。
我正在使用 Expo/RN 创建一个应用程序,作为网络调用的结果,第一个屏幕加载了相当数量(~20)的图像。我只在 iOS.
工作我的问题是图像加载速度极慢,大多数加载大约需要一分钟,有些根本不加载,而是保持黑色。我正在使用内置的图像组件,源对象中提供了 url。在 Safari 中加载移动网站时,图像会立即加载。
此外,内置缓存似乎根本不起作用。当一个图像已经加载并且应该在多个地方显示时,它通常根本不会出现在第二个地方。我试过使用 "force-cache" 没有效果。
我已经尝试过包 react-native-fast-image,它不会 运行,以及 react-native-expo-image-cache,它给了我一些结果,但内存泄漏问题和 UI冻结。
有什么解决办法吗?我应该只创建自己的缓存组件吗?
编辑:图像加载到 FlatList 中。每个项目都由一个自定义组件呈现,包括一个 .该图像只是将 url 作为
<Image
style={[styles.image, smallCell ? { width: smallCellWidth } : {}]}
source={{ uri: project.imageUrl, cache: "force-cache" }}
opacity={0.85}
/>
事实证明,最大的问题不在 RN 端,而是使用的 API 呼叫。我从服务器下载原始大小的图像,而不是调整后的图像,它们太大了,我得到了上面的结果。
不过,使用force-cache确实对我有很好的效果。