web-dev-qa-db-fra.com

Android - utilisez picasso pour charger l'image sans la stocker dans le cache

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)..
23
Jon

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.

54
MrEngineer13

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);
1
Sagar Jethva