2017-02-13 2 views
0

je veux changer le répertoire du cache des images de charge de glissement de mon application, Pour nettoyer maître ne parvient pas à essuyer le cache.i utiliséchangement de répertoire cache des images de charge Glide

builder.setDiskCache(new ExternalCacheDiskCacheFactory(context, "abbasali", cacheSize100MegaBytes * 5)); 

dans mon GlideModule mais Mais il ne fait aucun effet.

+0

ne GlideModule correctement configuré et lors de leur initialisation? ce qui signifie que votre appel à setDiskCache est-il appelé? – yosriz

+0

maintenant mon cache d'images est dans android/data/myPakacgeName/chache/abbasali/ –

+0

Glide utilisera un cache existant de préférence à un nouveau. Donc, si vous avez déjà exécuté votre application avant cette modification, il y aura un cache interne qui est utilisé. Pour supprimer le cache interne, effacez simplement les paramètres de cache de votre application dans le menu Paramètres de l'application Android. –

Répondre

1

Glide ne prend pas en charge l'accès direct au cache par conception. Cache est un stockage transparent, ce qui signifie que vous n'avez pas besoin de le savoir. En outre, dans Glide la mise en cache est beaucoup plus fine que la clé url. Donc, la solution est de charger normalement et elle sera chargée à partir du cache si elle est là, sinon téléchargée et chargée. Regardez dans .diskCacheStrategy() pour plus de contrôle sur ce qui est mis en cache.

Glide.with(context) 
.load(image_url) 
.diskCacheStrategy(DiskCacheStrategy.ALL) 
.into(imageView); 

Si vous utilisez DiskCacheStrategy.SOURCE (inclus dans ALL) votre image originale sera stockée dans le téléphone et probablement disponible lorsque vous en avez besoin en ligne. Le cache sera toujours consulté avant de passer au network.

ici est un exemple de code pour l'image de chargement de DiskCache utilise Glide

https://groups.google.com/forum/#!topic/glidelibrary/TcFOy0tcxXA