Ergebnisse:
- Unterschied zwischen Picasso v / s ImageLoader hier ...
- Infos zur Bibliothek GLIDE hier ...
- Jetzt hat Facebook kürzlich eine neue Bildbibliothek namens Fresco veröffentlicht
Fragen:
- Was ist der Unterschied zwischen Picasso v / s Imageloader v / s Fresco
- Wann können wir Glide verwenden?
- Welches ist die beste Bibliothek zu verwenden.
- Wenn jede Bibliothek ihre eigene Bedeutung hat, welche sind das?
Antworten:
Ich bin einer der Ingenieure des Fresco-Projekts. Also bin ich offensichtlich voreingenommen.
Aber du musst nicht mein Wort dafür nehmen. Wir haben eine Beispiel-App veröffentlicht, mit der Sie die Leistung von fünf Bibliotheken - Fresco, Picasso, UIL, Glide und Volley Image Loader - nebeneinander vergleichen können. Sie können es in unserem GitHub-Repo bekommen .
Ich sollte auch darauf hinweisen, dass Fresco auf Maven Central als verfügbar ist
com.facebook.fresco:fresco
.Fresco bietet Funktionen, die Picasso, UIL und Glide noch nicht haben:
Es gibt viele andere ( siehe unsere Dokumentation ), aber diese sind die wichtigsten.
quelle
Wohlgemerkt, dass dies eine sehr meinungsbasierte Frage ist, also habe ich aufgehört, Fjorde zu bauen und einen schnellen Tisch gemacht
Jetzt ist der Bibliotheksvergleich schwierig, da bei vielen Parametern alle vier so ziemlich dasselbe tun, außer möglicherweise bei Fresco, weil es eine ganze Reihe neuer Optimierungen auf Speicherebene gibt. Lassen Sie mich wissen, ob Sie bestimmte Parameter möchten siehe einen Vergleich für basierend auf meiner Erfahrung.
Nachdem ich Fresco am wenigsten verwendet habe, könnte sich die Antwort weiterentwickeln, wenn ich sie weiterhin für aktuelle Exploits verwende und verstehe. Der
used personally
hat die Bibliothek mindestens einmal in einer fertigen App benutzt.* Hinweis - Fresco unterstützt jetzt sowohl GIF- als auch WebP-Animationen
quelle
Fresko Quellen | off site
(-)
- Riesige Bibliotheksgröße
- Kein Rückruf mit Ansicht, Bitmap-Parameter
- SimpleDraweeView unterstützt wrap_content nicht
- Riesige Cache-Größe
(+)
- Ziemlich schneller Bildlader (für kleine und mittlere Bilder)
- Viele Funktionen (Streaming, Zeichenwerkzeuge, Speicherverwaltung usw.)
- Möglichkeit zur direkten Einrichtung in XML (z. B. runde Ecken)
- GIF-Unterstützung
- Unterstützung für WebP und animiertes Webp
Picasso- Quellen | Off Site
(-)
- Langsames Laden großer Bilder aus dem Internet in ListView
(+) - Kleine Größe der
Bibliothek
- Kleine Größe des Caches
- Einfache Verwendung
- Die Benutzeroberfläche ist nicht eingefroren
- WebP-Unterstützung
Glide Quellen
(-)
- Große Größe der Bibliothek
(+)
- Tinny Größe von Cache
- Einfach im Gebrauch
- GIF - Unterstützung
- WebP Unterstützung
- Schnelles Laden große Bilder aus dem Internet in Listview
- UI ist nicht einfrieren
- BitmapPool zum Nachnutzung Speicher und somit geringere GC-Ereignisse
Universal Image Loader- Quellen
(-)
- Eingeschränkte Funktionalität (eingeschränkte Bildverarbeitung)
- Die Projektunterstützung wurde seit dem 27.11.2015 eingestellt
(+)
- Kleine Bibliotheksgröße
- Einfache Verwendung
Getestet von mir auf SGS2 (Android 4.1) (WiFi 8.43 Mbps)
Offizielle Versionen für Java, nicht für Xamarin!
19. Oktober 2015
Ich bevorzuge Glide.
Lesen Sie hier mehr .
So schreiben Sie mit Glide einen Cache in den externen Speicher (SD-Karte) .
quelle
OutOfMemory
die ganze Zeit ...ImagePipelineConfig.setDownsampleEnabled(true)
, dass sie einfriert. Manchmal werden jedoch Frames eines GIF übersprungen. Wenn Sie nur statische Bilder in Ihrer App anzeigen, können Sie es versuchen.Diese Antworten sind absolut meine Meinung
Antworten
Picasso ist ein einfach zu bedienender Image Loader, ebenso wie Imageloader. Fresco verwendet einen anderen Ansatz zum Laden von Bildern. Ich habe ihn noch nicht verwendet, aber es scheint mir eher eine Lösung zu sein, um Bilder aus dem Netzwerk abzurufen und zwischenzuspeichern und dann die Bilder anzuzeigen. dann umgekehrt wie Picasso / Imageloader / Glide, die für mich eher Bilder auf dem Bildschirm anzeigen, die auch Bilder aus dem Netzwerk abrufen und zwischenspeichern.
Glide versucht, mit Picasso etwas austauschbar zu sein. Ich denke, als sie erstellt wurden, folgte Picassos Denkweise den HTTP-Spezifikationen und ließ den Server die Caching-Richtlinien und den Cache in voller Größe festlegen und bei Bedarf die Größe ändern. Glide entspricht dem Befolgen der HTTP-Spezifikation, versucht jedoch, einen geringeren Speicherbedarf zu erzielen, indem verschiedene Annahmen getroffen werden, z. B. das Ändern der Größe der Bilder anstelle der Bilder in voller Größe und das Anzeigen von Bildern mit RGB_565 anstelle von RGB_8888. Beide Bibliotheken bieten eine vollständige Anpassung der Standardeinstellungen.
Welche Bibliothek am besten zu verwenden ist, ist wirklich schwer zu sagen. Picasso, Glide und Imageloader sind angesehene und getestete Bibliotheken, die alle mit den Standardeinstellungen einfach zu verwenden sind. Sowohl Picasso als auch Glide benötigen nur eine Codezeile, um ein Bild zu laden und einen Platzhalter und ein Fehlerbild zu haben. Das Anpassen des Verhaltens erfordert auch nicht so viel Arbeit. Gleiches gilt für Imageloader, eine ältere Bibliothek als Picasso und Glide. Ich habe sie jedoch nicht verwendet, kann also nicht viel über Leistung / Speichernutzung / Anpassungen sagen, aber wenn ich mir die Readme-Datei auf Github ansehe, habe ich den Eindruck, dass dies auch der Fall ist relativ einfach zu bedienen und einzurichten. Wenn Sie also eine dieser drei Bibliotheken auswählen, können Sie nicht die falsche Entscheidung treffen, es ist eher eine Frage des persönlichen Geschmacks.
Da das Facebook SDK immer noch nicht offiziell auf mavenCentral veröffentlicht ist, habeich Facebook SDK seit September 2014 nicht mehr verwendet und es scheint, dass sie die erste Version im Oktober 2014 auf mavenCentral online gestellt haben. Es wird also einige Zeit dauern, bis wir welche bekommen können gute Meinung dazu.Ich denke, es gibt keine signifikanten Unterschiede zwischen den drei großen Namensbibliotheken. Das einzige, was auffällt, ist das Fresko, aber das liegt daran, dass es einen anderen Ansatz hat und neu und nicht kampferprobt ist.
quelle
Weder Glide noch Picasso sind perfekt. Die Art und Weise, wie Glide ein Bild in den Speicher lädt und das Caching durchführt, ist besser als bei Picasso, wodurch ein Bild viel schneller geladen werden kann. Darüber hinaus wird verhindert, dass eine App den beliebten OutOfMemoryError verwendet. Das Laden von GIF-Animationen ist eine Kill-Funktion von Glide. Auf jeden Fall dekodiert Picasso ein Bild mit besserer Qualität als Glide.
Welches bevorzuge ich? Obwohl ich Picasso so lange benutze, muss ich zugeben, dass ich jetzt Glide bevorzuge. Ich würde Ihnen jedoch empfehlen, das Bitmap-Format in ARGB_8888 zu ändern und Glide sowohl das Bild in voller Größe als auch die Größe eines Bilds zuerst zwischenspeichern zu lassen. Der Rest würde deine Arbeit großartig machen!
RGB_565
.+1 Für Picasso Palette Helper .
Es gibt einen Beitrag, der viel über Picasso vs Glide- Beitrag spricht
quelle
Ich möchte Ihnen einen Benchmark mitteilen, den ich zwischen Picasso, Universal Image Loader und Glide durchgeführt habe : https://bit.ly/1kQs3QN
Fresco war nicht im Benchmark, weil wir für das Projekt, in dem ich den Test durchgeführt habe, unsere Layouts nicht umgestalten wollten (aufgrund der Drawee-Ansicht).
Was ich empfehle, ist Universal Image Loader aufgrund seiner Anpassung, des Speicherverbrauchs und des Gleichgewichts zwischen Größe und Methoden.
Wenn Sie ein kleines Projekt haben, würde ich mich für Glide entscheiden (oder Fresco ausprobieren).
quelle