2016-03-04 118 views
6

是否反應原生緩存遠程圖像?反應原生緩存遠程圖像?

我有一個應用程序,可以遠程下載幾十個圖像。這些圖像似乎緩存在我的應用程序中,但是,我不確定是否默認情況下是這樣做的操作系統,或者如果React Native緩存它們。

如果它是React Native,有什麼方法可以定製它們被緩存多久?或者遠程服務器是否定義了這個?

回答

3

這不是直接的ReactNative,它只是fetch緩存工作。但是,fetch行爲也依賴於服務器設置(大部分時間標記爲cache)。有關獲取API的更多信息(有關如何在請求標頭中定義cache的好例子)here

0

您可能會對我的高階組件模塊感興趣,該模塊會將與性能相關的圖像緩存和「永久緩存」功能添加到本機組件<圖像0​​。它是跨平臺的,而對於<圖片>的標準緩存功能在android和ios上是不同的,除了沒有記錄的行爲外,它似乎也發生了很大的變化。

React Native Image Cache HOC

鉈; 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 ñ。

第二張圖像將永久存儲到本地磁盤。人們使用這個替代品來替代您的應用發佈靜態圖片文件。