Picasso v / s Imageloader v / s Fresco vs Glide

Recomendaciones:

  1. Diferencia entre Picasso v / s ImageLoader aquí …
  2. Información sobre la biblioteca GLIDE aquí …
  3. Ahora, recientemente, Facebook lanzó una nueva biblioteca de imágenes llamada Fresco

Preguntas:

  1. ¿Cuál es la diferencia entre Picasso v / s Imageloader v / s Fresco
  2. ¿Cuándo podemos usar Glide
  3. Cuál es la mejor biblioteca para usar.
  4. Si cada biblioteca tiene su propio significado, ¿cuáles son?

Soy uno de los ingenieros del proyecto Fresco. Así que obviamente estoy sesgado.

Pero no tienes que aceptar mi palabra. Hemos lanzado una aplicación de ejemplo que le permite comparar el rendimiento de cinco bibliotecas – Fresco, Picasso, UIL, Glide y Volley Image Loader – lado a lado. Puede obtenerlo en nuestro repo de GitHub.

También debo señalar que Fresco está disponible en Maven Central, como com.facebook.fresco:fresco .

Fresco ofrece características que Picasso, UIL y Glide aún no tienen:

  1. Las imágenes no se almacenan en el montón de Java, sino en el montón ashmem. Los tampones intermedios de bytes también se almacenan en el montón nativo. Esto deja mucho más memoria disponible para las aplicaciones a utilizar. Reduce el riesgo de OutOfMemoryErrors. También reduce la cantidad de aplicaciones de recolección de basura tienen que hacer, lo que lleva a un mejor rendimiento.
  2. Las imágenes JPEG progresivas se pueden transmitir, al igual que en un navegador web.
  3. Las imágenes pueden recortarse alrededor de cualquier punto, no sólo del centro.
  4. Las imágenes JPEG se pueden cambiar de tamaño de forma nativa. Esto evita el problema de OOMing mientras intenta reducir el tamaño de una imagen.

Hay muchos otros ( vea nuestra documentación ), pero estos son los más importantes.

Tenga en cuenta que esta es una pregunta muy basada en la opinión, por lo que dejó de hacer fiordos e hizo una mesa rápida

Introduzca aquí la descripción de la imagen

Ahora la comparación de la biblioteca es difícil porque en muchos parámetros, todos los cuatro prácticamente hacen lo mismo, excepto posiblemente para Fresco porque hay un montón de nuevas optimizaciones de nivel de memoria en ella. Entonces déjame saber si ciertos parámetros que te gustaría Ver una comparación basada en mi experiencia.

Habiendo utilizado Fresco lo menos, la respuesta podría evolucionar a medida que continúe utilizando y entenderlo para exploits actuales. El used personally es haber utilizado la biblioteca al menos una vez en una aplicación completa.

* Nota – Fresco ahora admite GIF así como animaciones WebP

Estas respuestas son totalmente mi opinión

Respuestas

  1. Picasso es un cargador de imágenes fácil de usar, lo mismo ocurre con Imageloader. Fresco utiliza un enfoque diferente a la carga de imágenes, no lo he utilizado todavía, pero me parece más como una solución para obtener la imagen de la red y el almacenamiento en caché, a continuación, mostrar las imágenes. A continuación, al revés como Picasso / Imageloader / Glide que a mí son más Mostrar la imagen en la pantalla que también hace obtener imágenes de la red y el almacenamiento en caché de ellos.

  2. Glide intenta ser algo intercambiable con Picasso. Creo que cuando se crearon el conjunto de mentalidad de Picasso fue seguir las especificaciones de HTTP y dejar que el servidor decida las políticas de caché y caché de tamaño completo y cambiar el tamaño a petición. Glide es el mismo con seguir la especificación HTTP pero intenta tener una huella de memoria más pequeña al hacer algunas suposiciones diferentes como almacenar en caché las imágenes redimensionadas en lugar de las imágenes de tamaño completo y mostrar imágenes con RGB_565 en lugar de RGB_8888. Ambas bibliotecas ofrecen una personalización completa de la configuración predeterminada.

  3. En cuanto a qué biblioteca es la mejor para usar es realmente difícil de decir. Picasso, Glide y Imageloader son bibliotecas bien respetadas y bien probadas que son fáciles de usar con la configuración predeterminada. Tanto Picasso como Glide requieren sólo una línea de código para cargar una imagen y tienen un marcador de posición y una imagen de error. Personalizar el comportamiento también no requiere mucho trabajo. Lo mismo vale para Imageloader que también es una biblioteca más antigua que Picasso y Glide, sin embargo no lo he usado así que no puedo decir mucho sobre el rendimiento / uso de la memoria / personalizaciones pero mirando el readme en github me da la impresión de que también es Relativamente fácil de usar y configurar. Así que en la elección de cualquiera de estas 3 bibliotecas no se puede tomar la decisión equivocada, es más una cuestión de gusto personal. Para fresco mi opinión es que su otra biblioteca de Facebook por lo que tenemos que ver cómo va a funcionar para ellos, hasta el momento no hay registro de la pista es tan bueno. Al igual que el SDK de Facebook todavía no se ha lanzado oficialmente en mavenCentral no he utilizado a sdk de facebook desde septiembre de 2014 y parece que han puesto la primera versión en línea en mavenCentral en octubre de 2014. Así que tomará algún tiempo antes de que podamos obtener cualquier Buena opinión sobre él.

  4. Entre las 3 grandes bibliotecas de nombres creo que no hay diferencias significativas. El único que destaca es fresco, pero eso es porque tiene un enfoque diferente y es nuevo y no prueba de batalla.

Fuentes de Fresco | Fuera del sitio
Documentación de stackoverflow
(-)
– Tamaño enorme de la biblioteca
– Sin devolución de llamada con vista, parámetros de mapa de bits
– SimpleDraweeView no admite wrap_content
– Tamaño enorme de caché
(+)
– Bastante rápido cargador de imágenes (para pequeñas y medianas imágenes)
– Mucha funcionalidad (streaming, herramientas de dibujo, gestión de memoria, etc.)
– Posibilidad de configurar directamente en xml (por ejemplo esquinas redondeadas)
– Soporte de GIF
– Soporte WebP

Fuentes de Picasso | Fuera del sitio
Documentación de stackoverflow
(-)
– Carga lenta de grandes imágenes de Internet en ListView
(+)
– Tinny tamaño de la biblioteca
– Pequeño tamaño de caché
– Fácil de usar
– La interfaz de usuario no se congela
– Soporte WebP

Fuentes de deslizamiento
Documentación de stackoverflow
(-)
– Tamaño grande de la biblioteca
(+)
– Tinny tamaño de caché
– Fácil de usar
– Soporte de GIF
– Soporte WebP
– Carga rápida de grandes imágenes de Internet en ListView
– La interfaz de usuario no se congela
– BitmapPool para reutilizar la memoria y por lo tanto menores eventos GC

Fuentes de Universal Image Loader
Documentación de stackoverflow
(-)
– Funcionalidad limitada (procesamiento de imágenes limitado)
– El apoyo al proyecto ha cesado desde el 27.11.2015
(+)
– Tinny tamaño de la biblioteca
– Fácil de usar


Probado por mí en SGS2 (Android 4.1) (WiFi 8.43 Mbps)
Versiones oficiales para Java, no para Xamarin!
19 de octubre de 2015

Yo prefiero usar Glide.
Lea más aquí .
Cómo escribir la memoria caché en almacenamiento externo (tarjeta SD) con Glide.

Ni Glide ni Picasso es perfecto. La forma en que Glide carga una imagen en la memoria y hacer el almacenamiento en caché es mejor que Picasso que permite que una imagen cargue mucho más rápido. Además, también ayuda a prevenir una aplicación de OutOfMemoryError popular. La carga de la animación del GIF es una característica de la matanza proporcionada por Glide. De todos modos Picasso decodifica una imagen con mejor calidad que Glide.

¿Cuál prefiero? Aunque uso Picasso durante mucho tiempo, debo admitir que ahora prefiero Glide. Pero yo recomendaría cambiar el formato de mapa de bits a ARGB_8888 y dejar Glide caché de tamaño completo de la imagen y cambiar el tamaño de uno en primer lugar. ¡El resto haría su trabajo grande!

  • La cuenta de método de Picasso y Glide está en 840 y 2678 respectivamente.
  • El tamaño de Picasso (v2.5.1) es de alrededor de 118 KB, mientras que el de Glide (v3.5.2) es de alrededor de 430 KB.
  • Glide crea imágenes en caché por tamaño, mientras que Picasso guarda la imagen completa y la procesa, por lo que en la carga se muestra más rápido con Glide, pero utiliza más memoria.
  • Glide utiliza por defecto menos memoria con RGB_565 .

+1 Para el ayudante de la paleta de Picasso.

Hay un post que habla mucho sobre Picasso vs Glide post

Quiero compartir con ustedes un punto de referencia que he hecho entre Picasso, Universal Image Loader y Glide : https://bit.ly/1kQs3QN

Fresco estaba fuera del punto de referencia porque para el proyecto que estaba ejecutando la prueba, no queríamos refactorizar nuestros diseños (debido a la vista Drawee).

Lo que recomiendo es Universal Image Loader debido a su personalización, consumo de memoria y equilibrio entre tamaño y métodos.

Si usted tiene un proyecto pequeño, yo iría para Glide (o dar Fresco una prueba).

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.