Effacer la mémoire cache de Picasso
Je suis en train de vider le cache mémoire de Picasso via Android de codage.
Quelqu'un peut-il m'aider à ce problème..?
J'ai essayé d'utiliser le code suivant, mais ce n'était pas utile dans mon cas:
Picasso.with(getActivity()).load(data.get(pos).getFeed_thumb_image()).skipMemoryCache().into(image);
source d'informationauteur Parthiban M
Vous devez vous connecter pour publier un commentaire.
Utiliser ce lieu :
Retirer le cache de Picasso comme ça.
Cette classe util pouvez effacer le cache pour vous. Vous avez juste à appeler:
MODIFIER:
La classe de Claire doit être dans le paquet :
Car le cache n'est pas accessible depuis l'extérieur de cet ensemble.
Comme dans cette réponse: https://stackoverflow.com/a/23544650/4585226
Lorsque l'activité détruire, malheureusement bitmap n'a pas été recyclé si nous sommes à l'aide de Picasso. J'essaie de programmation pour recycler bitmap, ce qui est chargé dans l'image vue. Il y a un moyen de faire référence à chargé image en utilisant
Target
.Et lorsque l'Activité détruire, je l'appelle
onBitmapFailed(null)
de recycler bitmap chargée.Mais rappelez-vous, NE met PAS en CACHE de l'IMAGE DANS la MÉMOIRE en ce cas, Il sera la cause de l'Utilisation recyclé bitmap exception.
Espérons que cette aide.
si vous essayez de charger une image à travers Json(db) essayez d'effacer le networkCache pour un meilleur résultat.
Au lieu d'effacer le cache complet si l'on veut actualiser l'image d'Uri. essayez cette
Picasso.with(context).invalidate(uri);
en interne supprime la clé de cache géré par Picasso.Si vous gardez la référence de votre personnalisé
Downloader
mise en œuvre, vous pouvez effacer le cache.Il est important d'avoir accès à votre client http et de ses
Cache
. Dans mon application il ya un accès à la mémoire cache, donc effacer la mémoire cache avecclearCache()
méthode.j'ai eu le même problème.
Il a travaillé pour moi.
J'ai utilisé Picasso dans RecycleView à l'intérieur d'une boîte de dialogue. Quand j'ai fermé la boîte de dialogue, picasso ne pas effacer le cache. Mais pendant que vous utilisez la boîte de dialogue, il efface l'image cache. Cependant, il ya certains qui cache n'est pas vidé. Peut-être que le cache n'a pas été effacé est le dernier vous avez vu dans la boîte de dialogue avant de dialogue.rejeter().
utiliser cette
memoryPolicy(MemoryPolicy.NO_CACHE,MemoryPolicy.NO_STORE)
Cela fonctionne aussi