web-dev-qa-db-fra.com

Picasso v / s Imageloader v / s Fresco vs Glide

Résultats:

  1. Différence entre Picasso v/s ImageLoader ici ...
  2. Informations sur la bibliothèque GLIDE here ...
  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 et Imageloader?
  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?
326
Devrath

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

Mais vous n'êtes pas obligé de prendre ma parole pour cela. Nous avons publié un exemple d'application permettant 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 devrais également souligner que Fresco est disponible sur Maven Central, sous la forme com.facebook.fresco:fresco.

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

  1. Les images ne sont pas stockées dans le tas Java, mais dans le tas 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. Il réduit les risques d’erreur de surtension mémoire. Cela réduit également la quantité d'applications de récupération de place à effectuer, ce qui améliore les performances.
  2. Les images JPEG progressives peuvent être diffusées en continu, comme dans un navigateur Web.
  3. Les images peuvent être recadrées à n’importe quel point, pas seulement au centre.
  4. Les images JPEG peuvent être redimensionnées de manière native. Cela évite le problème de MOO lorsque vous essayez de réduire la taille d'une image.

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

186
tyronen

Remarquez que c’est une question très basée sur les opinions, alors j’ai arrêté de faire des fjords et j’ai fait un tableau rapide

enter image description here

Maintenant, la comparaison de bibliothèques est difficile car sur de nombreux paramètres, les quatre font quasiment la même chose, à l’exception peut-être de Fresco, car elle contient toute une série d’optimisations de niveau de mémoire. Laissez-moi savoir si certains paramètres voir une comparaison basée sur mon expérience.

Ayant moins utilisé Fresco, la réponse pourrait évoluer à mesure que je continuerai à l’utiliser et à la comprendre pour les exploits actuels. Le used personally a 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.

130
Vrashabh Irde

Ces réponses sont tout à fait mon avis

Réponses

  1. Picasso est un chargeur d’image facile à utiliser, de même pour Imageloader. Fresco utilise une approche différente pour le chargement des images, je ne l’ai pas encore utilisée, mais elle me ressemble davantage à une solution permettant d’obtenir une image du réseau et de la mettre en cache, puis de montrer les images. puis l’inverse, comme Picasso/Imageloader/Glide, qui pour moi sont plus représentatifs. Afficher 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 quelque 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 politiques de mise en cache, mettre en cache et redimensionner à la demande. Glide est identique à suivre la spécification HTTP, mais tente de réduire l'encombrement de la mémoire en faisant des hypothèses différentes, telles que mettre en cache les images redimensionnées au lieu des images en taille réelle et afficher les images avec RGB_565 au lieu de RGB_8888. Les deux bibliothèques offrent une personnalisation complète des paramètres par défaut.

  3. Il est vraiment difficile de dire quelle bibliothèque est la meilleure à utiliser. Picasso, Glide et Imageloader sont des bibliothèques respectées et bien testées, faciles à utiliser avec les paramètres par défaut. Picasso et Glide ne requièrent qu'une seule ligne de code pour charger une image et avoir un espace réservé et une image d'erreur. Personnaliser le comportement n'exige également pas beaucoup de travail. Il en va de même pour Imageloader, qui est aussi une bibliothèque plus ancienne que Picasso et Glide. Cependant, je ne l'ai pas utilisée, je ne peux donc pas en dire beaucoup sur les performances/l'utilisation de la mémoire/les personnalisations, mais regarder le readme sur github me donne l'impression que c'est aussi 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 plutôt une question de goût personnel. Pour fresco, j’estime qu’il s’agit d’une autre bibliothèque sur Facebook, nous devons donc voir comment cela fonctionnera pour eux. Pour l’instant, leur bilan n’est pas très bon. 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 un certain temps avant de pouvoir obtenir une bonne opinion à ce sujet.

  4. je pense qu'il n'y a pas de différence significative entre les 3 grandes bibliothèques. La seule qui se démarque est la fresque, mais c’est parce qu’elle a une approche différente, qu’elle est nouvelle et qu’elle n’a pas été testée au combat.

108
Aegis

Fresque sources | hors site
(-)
- Taille énorme de la bibliothèque
- Pas de rappel avec vue, paramètres bitmap
- SimpleDraweeView ne prend pas en charge wrap_content
- Taille énorme du cache
(+)
- Chargeur d'image assez rapide (pour les petites et moyennes images)
- Beaucoup de fonctionnalités (streaming, outils de dessin, gestion de la mémoire, etc.)
- Possibilité de configurer directement en XML (par exemple, coins arrondis)
- support GIF
- Support WebP et Animated Webp


Picasso sources | hors site
(-)
- Chargement lent de grandes images d'Internet dans ListView
(+)
- Taille réduite de la bibliothèque
- Petite taille de cache
- Simple d'utilisation
- L'interface utilisateur n'est pas figée
- Support WebP


Glisse sources

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


Chargeur d'image universel sources

(-)
- Fonctionnalités limitées (traitement d'image limité)
- Le soutien au projet a cessé depuis le 27.11.2015
(+)
- Taille réduite 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.
En savoir plus ici .
Comment écrire un cache sur un stockage externe (carte SD) avec Glide.

104
Volodymyr Kulyk

Ni Glide ni Picasso n'est parfait. La manière dont Glide charge une image en mémoire et la mise en cache est meilleure que celle de Picasso, qui permet de charger une image beaucoup plus rapidement. En outre, cela aide également à empêcher une application de la populaire OutOfMemoryError. Le chargement d'animation GIF est une fonctionnalité mortelle 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 très longtemps, je dois admettre que je préfère maintenant Glide. Mais je vous recommanderais de changer le format Bitmap en ARGB_8888 et de laisser Glide mettre en cache à la fois les images en taille réelle et les redimensionnées. Le reste ferait très bien votre travail!

  • 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, celle de Glide (v3.5.2) d'environ 430 Ko.
  • Glide crée des images en cache par taille tandis que Picasso enregistre l’ensemble de l’image et la traite. Par conséquent, lors de son chargement, l’affichage est plus rapide avec Glide mais utilise plus de mémoire.
  • Glide utilise par défaut moins de mémoire avec RGB_565.

+1 pour Picasso Aide de palette .

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

62
Daniel Gomez Rico

Je souhaite partager avec vous un repère que j'ai réalisé entre Picasso, Universal Image Loader et Glide : https://bit.ly/1kQs3QN

Fresco était hors des repères, car pour le projet sur lequel j’exécutais le test, 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 son équilibre entre la taille et les méthodes.

Si vous avez un petit projet , je choisirais Glide (ou essayez Fresco).

18
shollmann