我閱讀文檔關於本網站陣營機映像組件並得到了一些問題:https://facebook.github.io/react-native/docs/image.html陣營原住民 - 圖像緩存
如果我使用源屬性來顯示圖像。下載後圖像是否會緩存並保存到磁盤?
如果是,什麼是緩存策略?
如果我想將下載的圖像保存到磁盤。使用getSize或prefetch方法做更好嗎?
非常感謝。
我閱讀文檔關於本網站陣營機映像組件並得到了一些問題:https://facebook.github.io/react-native/docs/image.html陣營原住民 - 圖像緩存
如果我使用源屬性來顯示圖像。下載後圖像是否會緩存並保存到磁盤?
如果是,什麼是緩存策略?
如果我想將下載的圖像保存到磁盤。使用getSize或prefetch方法做更好嗎?
非常感謝。
按照here的描述反應本地圖像組件NSURLRequest的緩存策略。我個人使用RNFetchBlob緩存圖像,如here所述。您還可以結賬this component。
您可能會對我的高階組件模塊感興趣,它將性能相關的圖像緩存和「永久緩存」功能添加到本機組件。
鉈; DR代碼示例:
import imageCacheHoc from 'react-native-image-cache-hoc';
const CacheableImage = imageCacheHoc(Image);
export default class App extends Component<{}> {
render() {
return (
<View style={styles.container}>
<Text style={styles.welcome}>Welcome to React Native!</Text>
<CacheableImage style={styles.image} source={{uri: 'https://i.redd.it/rc29s4bz61uz.png'}} />
<CacheableImage style={styles.image} source={{uri: 'https://i.redd.it/hhhim0kc5swz.jpg'}} permanent={true} />
</View>
);
}
}
第一圖像將被緩存,直到總本地緩存增長過去15 MB(默認),則高速緩存的圖像被首先刪除最老直到總緩存再次低於15 MB。
第二張圖像將永久存儲到本地磁盤。人們使用這個替代品來替代您的應用發佈靜態圖片文件。
這應該能夠滿足您開箱即用的需求。希望能幫助到你!