インターネットに接続するとフレスコ画をダウンロードしてSDカードに保存します。 後でオフラインにしてもキャッシュがクリアされても、保存された画像を表示するにはフレスコ画が必要です。 これは可能ですか?はいの場合、どうですか?フレスコ画を使用してオフラインでAndroidを表示すると画像が表示される
イメージをディスクキャッシュに保存するだけで、キャッシュがクリアされても動作しないようです。
インターネットに接続するとフレスコ画をダウンロードしてSDカードに保存します。 後でオフラインにしてもキャッシュがクリアされても、保存された画像を表示するにはフレスコ画が必要です。 これは可能ですか?はいの場合、どうですか?フレスコ画を使用してオフラインでAndroidを表示すると画像が表示される
イメージをディスクキャッシュに保存するだけで、キャッシュがクリアされても動作しないようです。
Frescoが画像をキャッシュします。オフラインの場合でも、イメージは表示されます。何もする必要はありません。
しかし、キャッシュがクリアされたとき(ユーザーがボタンを押したときやデバイスの容量が少ないときなど)は、明らかに画像がキャッシュから削除されます。これは変更しないほうが望ましい動作です。
は、2つのオプションがあります:あなたが(例えば、「保存」ボタンを)選択した画像を保持したい場合は、エンコードを得ることができます
を選択したアイテムを保存しますイメージを保存し、デバイスのどこかに保存します。 は、すべての画像でこれを行うべきではありません。それらはディスク上に2回あり、キャッシュをクリアする/アプリケーションをアンインストールするとデバイスに1つのコピーが残ります。
このような何かは仕事ができる:
DataSource<CloseableReference<PooledByteBuffer>>
dataSource = Fresco.getImagePipeline().fetchEncodedImage(imageRequest, callerContext);
dataSource.subscribe(new BaseDataSubscriber<CloseableReference<PooledByteBuffer>>() {
@Override
protected void onNewResultImpl(DataSource<CloseableReference<PooledByteBuffer>> dataSource) {
CloseableReference<PooledByteBuffer> encodedImage = dataSource.getResult();
if (encodedImage != null) {
try {
// save the encoded image in the PooledByteBuffer
} finally {
CloseableReference.closeSafely(encodedImage);
}
}
}
@Override
protected void onFailureImpl(DataSource<CloseableReference<PooledByteBuffer>> dataSource) {
// something went wrong
}
}, executorService);
}エンコードされた画像を取得するためにパイプラインを使用する方法について
詳細情報:キャッシュに
キープを移動http://frescolib.org/docs/using-image-pipeline.html
フレスコは、カスタムDiskCacheConfig
を供給することができますし、あなたが新しいDiskCacheConfig.Builder
を作成して、別のフォルダ(SDカード上の例1)へのパスを変更するsetBaseDirectoryPath(File)
を呼び出し、あなたもsetBaseDirectoryName(String)
とディレクトリ名を変更することができますすることができますフレスコは、キャッシングを行う方法について
ダウンロードしたときにイメージを手動でディスクに保存する必要があります。画像を表示するときに、画像がディスクにあるかどうかを確認します。そうでない場合は、urlからダウンロードして(そしてディスクに保存します)。
あなたの答えをありがとう、しかし、ユニバーサルイメージLoaderは私の問題を解決しているようです。単にUILに ".cacheOnDisk(true)"パラメータを追加するだけで、私は必要なものを正確に実行します。 – Ashwin
UILのディスクキャッシュは、アプリケーションの内部/外部キャッシュディレクトリではありませんか?キャッシュをクリアしても永続化されますか? –
はい、UILを使用して一度ダウンロードしたイメージは、キャッシュをクリアしても保持されます。 – Ashwin