web-dev-qa-db-ja.com

同じURLからGlideに画像をリロードする方法は?

Glide画像ローダーを使用して特定のURLから画像をロードしていますが、画像を同じURLに更新しても、Glideはキャッシュされた画像をimageviewに表示し続けます。同じURLから画像をリロードする方法は?

10
Ajay Chauhan

Glide wiki _Caching-and-Cache-Invalidation_による

1 .StringSignature St​​ringSignatureを使用して、ファイルの日付変更時刻を混在させることができます

ファイル-StringSignatureを使用して、ファイルの日付変更時刻を混在させることができます。

Urls-URLを無効にする最善の方法は、サーバーがURLを変更し、URLのコンテンツが変更されたときにクライアントを更新することですが、 StringSignatureを使用して任意のメタデータを混ぜる

_Glide.with(yourFragment)
.load(url)
.signature(new StringSignature(String.valueOf(System.currentTimeMillis()))
.into(yourImageView);
_

他のすべてが失敗し、識別子を変更することも、適切なバージョンのメタデータを追跡することもできない場合、

  1. diskCacheStrategy()および_DiskCacheStrategy.NONE_を使用して、ディスクキャッシュを完全に無効にすることもできます。

Glide.with(Activity.this).load(url).diskCacheStrategy(DiskCacheStrategy.NONE).skipMemoryCache(true).into(imageView);

リファレンス https://github.com/bumptech/glide/wiki/Caching-and-Cache-Invalidation

13
Ramesh sambu

追加

signature(new ObjectKey(String.valueOf(System.currentTimeMillis()))))

RequestOptions requestOptions = new RequestOptions();
            requestOptions.placeholder(R.drawable.cover_placeholder);
            requestOptions.error(R.drawable.no_image_available);
            requestOptions.signature(
                      new ObjectKey(String.valueOf(System.currentTimeMillis())));


Glide.with(MosaicFragment.this)
                 .setDefaultRequestOptions(requestOptions)
                 .load(finalPathOrUrl)
4
Alex

.diskCacheStrategy(DiskCacheStrategy.NONE)を使用します

Glide.with(context)
     .load(url)
     .apply(new RequestOptions()
             .placeholder(R.drawable.placeholder)
             .error(R.drawable.error)
             .diskCacheStrategy(DiskCacheStrategy.NONE)
             .skipMemoryCache(true))
     .into(ImageView);
4
Goku

数時間苦労した後、私は解決策を見つけました.StringSignatureを追加することにより、ファイルの日時を混在させることができます。そのため、ファイルが読み込まれると、常に最新のものを使用します。これのように

Glide.with(this)
.load(image_url)
.signature(new StringSignature(String.valueOf(System.currentTimeMillis())))
.into(imageview);

リファレンス: https://github.com/bumptech/glide/wiki/Caching-and-Cache-Invalidation

0
Ajay Chauhan

以下のコードを使用してください、それは私にとってはうまくいきます。 diskCacheStrategy(DiskCacheStrategy.NONE)およびskipMemoryCache(true)を設定します。毎回画像を読み込みます。

Glide.with(Activity.this)
    .load(theImagePath)
    .diskCacheStrategy(DiskCacheStrategy.NONE)
    .skipMemoryCache(true)
    .into(myImageViewPhoto);
0
Fenil Patel