Je veux utiliser picasso pour charger une image d'une URL dans un espace réservé, mais pas stocker cette image dans le cache - en d'autres termes, je veux que l'image soit téléchargée du net directement sur le disque, puis chargée à partir du disque si nécessaire. Je comprends qu'il y a une classe appelée RequestCreator où vous pouvez spécifier la politique de mémoire - quelqu'un a-t-il un exemple d'utilisation de picasso/requestcreator pour faire quelque chose comme ça?
Alors .. quelque chose comme:
RequestCreator requestCreator = new RequestCreator();
requestCreator.memoryPolicy(MemoryPolicy.NO_CACHE);
....
fusionné avec:
Picasso.with(context).load(someurl).fit().placeholder(someplaceholder).into(sometarget)..
Picasso le supporte par sa skipMemoryCache()
dans le générateur Picasso. Un exemple est illustré ci-dessous.
Picasso.with(context).load(imageUrl)
.error(R.drawable.error)
.placeholder(R.drawable.placeholder)
.skipMemoryCache()
.into(imageView);
Avec la nouvelle API, vous devez l'utiliser comme ceci pour qu'il ignore la recherche et le stockage dans le cache:
Picasso.with(context).load(imageUrl)
.error(R.drawable.error)
.placeholder(R.drawable.placeholder)
.memoryPolicy(MemoryPolicy.NO_CACHE, MemoryPolicy.NO_STORE)
.into(imageView);
NO_CACHE
Ignore la recherche du cache mémoire lors du traitement d'une demande.
NO_STORE
Ignore le stockage du résultat final dans le cache mémoire. Utile pour les requêtes ponctuelles afin d'éviter d'expulser d'autres bitmaps du cache.
Pour picasso:2.71828
Ou une version supérieure, utilisez ce qui suit pour ignorer l'utilisation du cache disque networkPolicy(NetworkPolicy.NO_CACHE)
:
Picasso.get()
.load(camera_url)
.placeholder(R.drawable.loader2)
.networkPolicy(NetworkPolicy.NO_CACHE, NetworkPolicy.NO_STORE)
.into(img_cam_view);