如上问题,关于glide+recyclerview默认读取缓存,导致刷新时,即使对方更新了头像但是url还是原来url,就会去默认读取缓存,设置signature后,问题是解决了,但接着每次都会去刷新头像,缓存的意义就没有了,求解!
Glide.with(context)
.load(uri)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.crossFade()
.signature(new StringSignature(UUID.randomUUID().toString()))
.into(view);
Si vous souhaitez obtenir un nouvel avatar uniquement après que l'utilisateur a mis à jour l'image, le problème clé est de faire savoir à l'application que le cache d'image correspondant à l'URL n'est pas valide
Vous devez donc commencer par les paramètres mis en cache. dans l'en-tête de la réponse renvoyée par l'URL .
Si vous utilisez une interface fournie par un tiers, vous n'avez d'autre choix que de choisir de mettre à jour l'image à chaque fois sans mise en cache, ou de la compromettre et de la mettre à jour de temps en temps
Si vous le pouvez. modifiez-le, récupérez-le Pour l'interface de l'avatar, il est recommandé à la personne qui écrit l'interface d'ajouter des informations de cache pour invalider le cache client lors de la mise à jour de l'avatar.
Glide détermine s'il faut charger le cache ou effectuer une nouvelle demande en fonction de l'URL. Si votre URL reste inchangée mais que le contenu de l'image change rapidement, il est préférable de désactiver la mise en cache
.