ネイティブキャッシュのリモートイメージに反応しますか?ネイティブキャッシュのリモートイメージに反応しますか?
私は数十枚の画像を遠隔からダウンロードするアプリを持っています。これらの画像は私のアプリにキャッシュされているようだが、デフォルトでそれを実行しているOSであるか、React Nativeでキャッシュしているのかは分からない。
リアクションネイティブの場合、キャッシュされる期間をカスタマイズする方法はありますか?あるいは、リモートサーバーはそれを定義していますか?
ネイティブキャッシュのリモートイメージに反応しますか?ネイティブキャッシュのリモートイメージに反応しますか?
私は数十枚の画像を遠隔からダウンロードするアプリを持っています。これらの画像は私のアプリにキャッシュされているようだが、デフォルトでそれを実行しているOSであるか、React Nativeでキャッシュしているのかは分からない。
リアクションネイティブの場合、キャッシュされる期間をカスタマイズする方法はありますか?あるいは、リモートサーバーはそれを定義していますか?
ReactNativeは直接ではありません。キャッシュの作業を行うのはfetch
です。しかし、fetch
の動作もサーバー設定(ほとんどの場合cache
ヘッダー)に依存します。フェッチAPIの詳細(リクエストヘッダーでcache
を定義する方法の良い例)here
パフォーマンスに関連する画像キャッシュと「永続キャッシュ」機能をネイティブの<Image>コンポーネントに追加する、より上位のコンポーネントモジュールに興味があるかもしれません。それはクロスプラットフォームですが、<Image>の標準キャッシング機能は、アンドロイドとiOSでは異なり、ドキュメント化されていない動作に加えて多くの変更が加えられているようです。
Tlの、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未満になるまでキャッシュされますn。
第2のイメージはローカルディスクに永続的に保存されます。人々はこれをあなたのアプリで静的な画像ファイルを送る代わりにドロップとして使用します。