根据package的文档,如果您这样做:
cache={FastImage.cacheControl.cacheOnly}
字符串
它应该只显示缓存中图像,而不发出任何网络请求。
然而,我试图清除缓存并重新运行应用程序,它仍然获取图像:
const cacheImg = profile_pic_url && (<TouchableOpacity ><FastImage
source={{
uri: profile_pic_url.url,
priority: FastImage.priority.high,
}}
style={styles.userProfilePic}
cache={FastImage.cacheControl.cacheOnly}
resizeMode={FastImage.resizeMode.cover}
/></TouchableOpacity>);
型
可以肯定的是,我甚至清楚的componentDidMount:
FastImage.clearMemoryCache();
FastImage.clearDiskCache();
型
这是一个bug还是我错过了什么?
3条答案
按热度按时间5ktev3wc1#
根据
documentation
,cache prop
应该在源代码内部,如下所示:字符串
Link - react-native-fast-image#sourcecache-enum
roejwanj2#
如果该高速缓存被清除,本地就没有东西可以获取了,所以它被迫远程获取图像。我认为当该高速缓存中没有任何东西时,不可能告诉它不要获取图像--你永远不会得到你的图像。
gg58donl3#
如果内存对你来说是个大问题,那么试着直接从react-native中使用Image,并删除react-native-fast-image。我也面临着同样的问题。
System. out. println(); System. out. println();
在componentWillUnMount()中
它清除了大量的内存,但我的目标是没有实现,所以我只是使用图像和它的奇迹对我来说。