我有一个由FlatList和Modal组件组成的组件。该模态组件具有多个图像组件。图像由 source - 属性设置为外部URL。
我通过更改可见属性来切换模态组件的模具可见性。
问题: 每次我打开模态(在开始时或关闭它之后),图像都从服务器加载。所以没有图像可能1秒钟。 如果我将模态的可见性设置为false ??
,是否从缓存中删除了图像答案 0 :(得分:1)
图像缓存可能与多种内容有关。最有效的一个可能是您在请求图像时从服务器发送的Cache-Control
标头。您可以检查标头以查看请求的缓存时间是否较短。
另一件事是,虽然开发过程,构建或热重新加载应用程序可能会导致清除应用程序的缓存。
另一个原因可能是设备中的低存储空间可能会触发操作系统删除缓存的图像。
在iOS中,您可以控制缓存。更多信息可以找到here。
在没有任何示例代码的情况下很难判断但是,如果您在设置其可见性时安装然后卸载Modal,则可以在安装Modal之前尝试预取图像。如果在安装Modal时缓存控件是正确的,则应从缓存中提供它们。如果您尝试显示的图像很大,则可能是性能问题,或者可能需要很长时间才能从磁盘加载。您可以使用较少数量的项目以较小的图像调试此项目。
希望上面的信息足够了。
答案 1 :(得分:0)
你可以使用react-native-img-cache 或react-native-cached-image兑现你的照片
并且是的,本机中的图像默认不缓存
还可预加载您可以使用的图片react-native-fast-image