Glisse pas de la mise à jour de l'image android de même url?
J'ai la même url pour une image. Lorsque je mets à jour cette image plus d'une fois, il affiche l'image précédente. L'image et l'image de la version sur le serveur est mis à jour mais la Glisse est pas à l'affiche de la nouvelle image.Je veux obtenir une nouvelle image à chaque fois et de les mettre en cache .
Glide.with(context)
.load(Constants.COPY_LINK_BASE_URL + info.getDisplayPicture())
.placeholder(R.drawable.ic_profile).dontAnimate()
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.signature(new (SettingManager.getUserPictureVersion(context)))
.into(ivUserProfilePhoto);
Je peux reproduire ce bug en changeant internet ,sur un internet de son changement d'image comme prévu sur l'internet d'autres restent même après 2 ou 3 essais pour le changement d'image
votre image de cache est affichée. Faire votre propre disque mécanisme de cache et nettoyer la vieille image quand il y a un nouveau disponibles sur le serveur. Cochez cette github.com/bumptech/glide/wiki/Configuration#size pourrait aider
Double Possible de Captcha image ne peut pas être l'actualisation à l'aide Glide
dans sa question, il n'est pas en utilisant la signature de l'api , je suis déjà à l'utiliser
Double Possible de Captcha image ne peut pas être l'actualisation à l'aide Glide
dans sa question, il n'est pas en utilisant la signature de l'api , je suis déjà à l'utiliser
OriginalL'auteur Usman Saeed | 2017-01-20
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin de changer l'url du serveur à chaque fois, si vous souhaitez charger l'image à chaque fois. une autre sage Glide charge même de l'image qui est premier, si l'URL de ne pas se changer.
Problème d'url ne peut pas être changé
Le problème, c'est que votre photo sera chargé à chaque fois, ce qui peut consommer du temps, dans certains cas où l'image est trop grande, il peut même conduire à une temporisation. Peut-être que c'est une bonne idée d'enregistrer un booléen dans sharedPreferences-à-dire lorsque l'uri doit être rechargé.
OriginalL'auteur jessica
Glide 4.x
Glide 3.x
Fonctionne Parfaitement!!
A fonctionné pour moi! merci!
cela fonctionne bien pour moi glide 4
OriginalL'auteur steven0529
C'est une vieille question, donc je suis sûr que vous avez votre correction. Toutefois, je crois que les deux grandes bibliothèques(Picasso et de la Glisse) prennent désormais en charge de quelque chose de similaire.
Glide a sa signature API, vous pouvez souhaitez examiner:
https://github.com/bumptech/glide/wiki/Caching-and-Cache-Invalidation
Je n'ai pas eu la chance de travailler avec moi-même, mais il semble comme si vous devez faire un appel à votre API pour obtenir la version des Métadonnées, puis un appel ultérieur à l'accomplir.
Sinon, regarde dans les ETags.
Bonne chance!
regarde ce stackoverflow.com/a/54543787/6733404
OriginalL'auteur MGDavies
Quand votre image est chargé pour la première fois, il est stocké localement dans ce qu'on appelle une mémoire cache (ou simplement un cache). Lorsque vous en faites la demande pour une deuxième fois de Glisse extrait de la cache comme si c'était une bonne demande.
C'est fait pour de nombreuses bonnes raisons telles que: le déchargement de votre serveur, la sauvegarde de vos utilisateurs des données et de leur offrir une expérience utilisateur des plus douces en réagissant rapidement.
Maintenant, concernant votre problème. Vous avez besoin de désactiver le cache à force de Glisser pour aller chercher votre image à distance chaque fois que vous demandez pour elle. Il suffit de faire la suivante:
Ou l'utilisation d'une signature unique pour chaque image. (Un peu hacky mais en fait le truc)
Un autre moyen propre serait de configurer votre image de la stratégie de cache dans votre serveur et d'utiliser
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.Lecture
Glisser le cache de l'API ici.
Si tu veux garder le cache, u peut ajouter un peu de code supplémentaire dans votre serveur pour voir si l'image a changé ou pas. Si elle n'a changer alors u vais l'effacer de la mémoire cache et de charger la mise à jour de l'un, si ce n'est juste de le récupérer à partir du cache.
signature vient de serveur que dire de l'image sur l'url est modifiée
OriginalL'auteur Anix PasBesoin
Lorsque de nouvelles images sont chargées ou mis à jour, utilisez ci-dessous pour effacer Glisse de la mémoire et du cache :
|==| Clair Glide mémoire
|==| Clair Glide Cache()
OriginalL'auteur Sujay U N
Maintenant Glide dernière version, vous devez utiliser
RequestOption
pour vider le cache.Ou pour à chaque fois charger une image, vous devez utiliser un Chaîne comme
signature
.Enfin:
OriginalL'auteur Hasib Akter
J'mon cas Glisse pas reconnaître
.signature()
, donc en plus de @MGDavies de réponse vous peut-être besoin de quelque chose comme ceOriginalL'auteur Abner Escócio
c'est comme si le problème est lié à la Glisse de la Bibliothèque elle-même, j'ai trouvé le truc qui peut résoudre ce problème, il suffit de mettre un nombre aléatoire après votre URL de l'image comme une requête comme un Exemple de code ci-dessous, il fixe mon problème j'espère que cela vous aide aussi
il va faire Glisser pour recharger l'image quand vous le demande comme il n'y a pas de cache à tous pour la lecture.
OriginalL'auteur Arash Afshar