Picasso contre / Imageloader v / s Fresco vs Glide

Résultats:

  1. Différence entre Picasso v / s ImageLoader ici …
  2. Informations sur la bibliothèque GLIDE ici …
  3. Maintenant, récemment, Facebook a publié une nouvelle bibliothèque d’images appelée Fresco

Des questions:

  1. Quelle est la différence entre Picasso v / s Imageloader v / s Fresco
  2. Quand pouvons-nous utiliser Glide
  3. Quelle est la meilleure bibliothèque à utiliser.
  4. Si chaque bibliothèque a sa propre signification, quelles sont-elles?

    Je suis l’un des ingénieurs du projet Fresco. Donc, évidemment, je suis partial.

    Mais vous n’avez pas à me croire sur parole. Nous avons publié un exemple d’application qui vous permet de comparer les performances de cinq bibliothèques – Fresco, Picasso, UIL, Glide et Volley Image Loader – côte à côte. Vous pouvez l’obtenir à notre repo GitHub .

    Je tiens également à souligner que Fresco est disponible sur Maven Central, sous le nom com.facebook.fresco:fresco .

    Fresco propose des fonctionnalités que Picasso, UIL et Glide ne possèdent pas encore:

    1. Les images ne sont pas stockées dans le segment de mémoire Java, mais dans le segment de mémoire ashmem. Les tampons d’octets intermédiaires sont également stockés dans le segment de mémoire natif. Cela laisse beaucoup plus de mémoire disponible pour les applications à utiliser. Cela réduit le risque de OutOfMemoryErrors. Cela réduit également la quantité d’applications de récupération de place, ce qui améliore les performances.
    2. Les images JPEG progressives peuvent être diffusées, comme dans un navigateur Web.
    3. Les images peuvent être recadrées autour de n’importe quel point, pas seulement au centre.
    4. Les images JPEG peuvent être redimensionnées en mode natif. Cela évite le problème de la perte de mémoire tout en essayant de réduire la taille d’une image.

    Il y en a beaucoup d’autres ( voir notre documentation ), mais ce sont les plus importants.

    Remarquez que cette question est fortement basée sur l’opinion, alors j’ai arrêté de faire des fjords et j’ai dressé un tableau rapide

    entrer la description de l'image ici

    Maintenant, la comparaison des bibliothèques est difficile parce que sur beaucoup de parameters, tous les quatre font à peu près la même chose, sauf peut-être pour Fresco parce qu’il ya beaucoup de nouvelles optimisations de niveau de mémoire. voir une comparaison en fonction de mon expérience.

    Ayant utilisé le moins de Fresco, la réponse pourrait évoluer au fur et à mesure que je continuerai à l’utiliser et à la comprendre pour les exploits actuels. Le used personally est d’avoir utilisé la bibliothèque au moins une fois dans une application terminée.

    * Remarque – Fresco prend désormais en charge les animations GIF et WebP

    Ces réponses sont totalement mon avis

    Réponses

    1. Picasso est un chargeur d’images facile à utiliser, tout comme Imageloader. Fresco utilise une approche différente du chargement de l’image, je ne l’ai pas encore utilisée, mais cela me semble plutôt être une solution pour obtenir une image du réseau et la mettre en cache, puis afficher les images. puis, à l’inverse, comme Picasso / Imageloader / Glide qui, à mon sens, montre une image à l’écran qui permet également d’obtenir des images du réseau et de les mettre en cache.

    2. Glide essaie d’être un peu interchangeable avec Picasso.Je pense que lorsqu’ils ont été créés, l’esprit de Picasso était de suivre les spécifications HTTP et de laisser le serveur décider des règles de mise en cache et du cache complet et redimensionné à la demande. Glide est la même chose que de suivre la spécification HTTP mais essaie d’avoir une empreinte mémoire plus petite en faisant différentes hypothèses comme mettre en cache les images redimensionnées au lieu des images complètes et afficher les images avec RGB_565 au lieu de RGB_8888. Les deux bibliothèques offrent une personnalisation complète des parameters par défaut.

    3. Il est très difficile de dire quelle bibliothèque est la meilleure à utiliser. Picasso, Glide et Imageloader sont des bibliothèques bien respectées et bien testées, faciles à utiliser avec les parameters par défaut. Picasso et Glide requièrent tous deux une seule ligne de code pour charger une image et ont un espace réservé et une image d’erreur. Personnaliser le comportement ne nécessite pas beaucoup de travail. Il en va de même pour Imageloader qui est aussi une ancienne bibliothèque, puis Picasso et Glide, mais je ne l’ai pas utilisé, donc je ne peux pas en dire beaucoup sur les performances / la mémoire / personnalisations, mais le readme sur github relativement facile à utiliser et à configurer. Donc, en choisissant l’une de ces 3 bibliothèques, vous ne pouvez pas prendre la mauvaise décision, c’est plus une question de goût personnel. Pour ce qui est de la fresque, mon opinion est que c’est une autre bibliothèque facebook, nous devons donc voir comment cela va se passer pour eux. Comme le SDK de facebook n’est toujours pas officiellement publié sur mavenCentral Je n’ai pas l’habitude de facebook sdk depuis septembre 2014 et il semble qu’ils aient mis la première version en ligne sur mavenCentral en octobre 2014. Il faudra donc du temps avant de pouvoir en obtenir bonne opinion à ce sujet.

    4. entre les 3 grandes bibliothèques, je pense qu’il n’y a pas de différences significatives. Le seul qui se démarque est la fresque, mais c’est parce qu’elle a une approche différente et est nouvelle et non testée.

    Sources de fresques | hors site
    (-)
    – Grande taille de bibliothèque
    – Aucun rappel avec les parameters View, Bitmap
    – SimpleDraweeView ne supporte pas wrap_content
    – Grande taille de cache
    (+)
    – Chargeur d’images assez rapide (pour les petites et les moyennes images)
    – Beaucoup de fonctionnalités (streaming, outils de dessin, gestion de la mémoire, etc.)
    – Possibilité de configurer directement en xml (par exemple des coins arrondis)
    – Support GIF
    – Support WebP et Webp animé

    Sources Picasso | hors site
    (-)
    – Chargement lent d’images volumineuses sur Internet dans ListView
    (+)
    – Petite taille de la bibliothèque
    – Petite taille de cache
    – Simple d’utilisation
    – L’interface utilisateur n’est pas figée
    – Support WebP

    Sources de glissement

    (-)
    – Grande taille de bibliothèque
    (+)
    – Taille du cache minuscule
    – Simple d’utilisation
    – Support GIF
    – Support WebP
    – Chargement rapide de grandes images sur Internet dans ListView
    – L’interface utilisateur n’est pas figée
    – BitmapPool pour réutiliser la mémoire et donc les événements de GC moins

    Sources Universal Image Loader

    (-)
    – Fonctionnalité limitée (traitement d’image limité)
    – Le support du projet est arrêté depuis le 27.11.2015
    (+)
    – Petite taille de la bibliothèque
    – Simple d’utilisation


    Testé par moi sur SGS2 (Android 4.1) (WiFi 8.43 Mbps)
    Versions officielles pour Java, pas pour Xamarin!
    19 octobre 2015

    Je préfère utiliser Glide.
    Lire plus ici .
    Comment écrire du cache sur un stockage externe (carte SD) avec Glide.

    Ni Glide ni Picasso ne sont parfaits. La façon dont Glide charge une image en mémoire et effectue la mise en cache est meilleure que Picasso, qui laisse une image chargée beaucoup plus rapidement. De plus, cela aide à empêcher une application de la populaire OutOfMemoryError. GIF Animation chargement est une fonctionnalité de mise à mort fournie par Glide. Quoi qu’il en soit, Picasso décode une image de meilleure qualité que Glide.

    Lequel est-ce que je préfère? Bien que j’utilise Picasso depuis si longtemps, je dois admettre que je préfère maintenant Glide. Mais je vous recommande de changer le format Bitmap à ARGB_8888 et de laisser Glide mettre en cache l’image pleine grandeur et la première redimensionnée. Le rest ferait bien ton boulot!

    • Le nombre de méthodes de Picasso et Glide est à 840 et 2678 respectivement.
    • La taille de Picasso (v2.5.1) est d’environ 118 Ko alors que celle de Glide (v3.5.2) est d’environ 430 Ko.
    • Glide crée des images mises en cache par taille, tandis que Picasso enregistre l’image complète et la traite. Par conséquent, en charge, elle s’affiche plus rapidement avec Glide, mais utilise plus de mémoire.
    • Glide utilise moins de mémoire par défaut avec RGB_565 .

    +1 Pour l’ assistant de la palette Picasso.

    Il y a un post qui parle beaucoup de Picasso vs post Glide

    Je souhaite partager avec vous un benchmark entre Picasso, Universal Image Loader et Glide : https://bit.ly/1kQs3QN

    Fresco était hors normes car pour le projet sur lequel je testais, nous ne voulions pas refactoriser nos mises en page (à cause de la vue Drawee).

    Ce que je recommande, c’est Universal Image Loader en raison de sa personnalisation, de sa consommation de mémoire et de l’équilibre entre la taille et les méthodes.

    Si vous avez un petit projet, j’irais pour Glide (ou essayez Fresco).