如上问题,关于glide+recyclerview默认读取缓存,导致刷新时,即使对方更新了头像但是url还是原来url,就会去默认读取缓存,设置signature后,问题是解决了,但接着每次都会去刷新头像,缓存的意义就没有了,求解!
Glide.with(context)
.load(uri)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.crossFade()
.signature(new StringSignature(UUID.randomUUID().toString()))
.into(view);
ユーザーが画像を更新した後にのみ新しいアバターを取得したい場合、重要な問題は、URL に対応する画像キャッシュが無効であることをアプリに知らせることです。
そのため、キャッシュされたパラメーターから始める必要があります。 URL によって返される応答のヘッダーに .
サードパーティが提供するインターフェースを使用している場合は、キャッシュせずに毎回イメージを更新するか、妥協して時々更新するかを選択するしかありません。
可能であれば。アバターのインターフェースについては、インターフェースを作成する人が、アバターの更新時にクライアントのキャッシュを無効にするキャッシュ情報を追加することをお勧めします。
Glide は、URL に基づいてキャッシュをロードするか再リクエストするかを決定します。URL が変更されていないにもかかわらず、画像コンテンツがすぐに変更される場合は、キャッシュを無効にすることをお勧めします。
リーリー