Top 10: las mejores librerias de almacenamiento en caché y carga de imágenes de Android

Top 10: las mejores librerias de almacenamiento en caché y carga de imágenes de Android

Una aplicación que no carga imágenes, es bastante rara y aburrida hoy en día. Saber mostrar una imagen en tu aplicación móvil es una de las tareas más habituales de todo desarrollador. Sin embargo, la forma en que trabajas con ellos será diferente para todos, debido a la forma en que codificas tu aplicación para manejar a imagen. Por ejemplo, los desarrolladores de sitios web no necesitan preocuparse por el almacenamiento en caché de imágenes porque el navegador lo hace automáticamente, pero para un desarrollador de Android, una imagen se cargará normalmente una y otra vez (si estamos hablando desde una fuente remota / web) sin muy buen desempeño. Si está dispuesto a mostrar imágenes de manera eficiente en su aplicación, debe ocuparse del almacenamiento en caché de las imágenes, especialmente cuando trabajas en una aplicacion gratuita para organizar fotos.

En este Top, compartiremos contigo 10 de las librerias de caché de imágenes más importantes para aumentar el rendimiento y los tiempos de carga de tu aplicación de Android.

10. Mirage

Mirage es una biblioteca de carga de imágenes desarrollada por el equipo de Android de The Climate Corporation para cargar, almacenar en caché y sincronizar el uso de imágenes sin conexión. Nuestra principal consideración para la creación de este sistema fue permitir la sincronización explícita de imágenes para su uso sin conexión. Bibliotecas como Picasso no cumplieron con nuestros requisitos porque, como se dijo, "Picasso no tiene caché de disco. Delega a cualquier cliente HTTP".

9. Android Image Cache

Una descarga y almacenamiento en caché de imágenes que también sabe cómo generar y recuperar de manera eficiente miniaturas de varios tamaños. Esta biblioteca incluye:

  • se integra fácilmente en aplicaciones respaldadas por el proveedor de contenido, proporcionando un adaptador que puede leer URL locales y web desde un cursor
  • generación automática y almacenamiento en caché de imágenes de varios tamaños en función de un activo descargado
  • proporciona un caché de disco así como un caché de memoria
  • gestión automática de caché de disco; no es necesaria la configuración, pero los parámetros se pueden ajustar si se desea
  • diseñado para funcionar con tu configuración existente: no es necesario extender una aplicación o actividad personalizada
  • el adaptador de cursor admite varios campos de imagen para cada ImageView; omite campos que son nulos o vacíos
  • El adaptador de cursor tiene una barra de progreso automática al cargar el cursor

8. Shutterbug

Shutterbug es una biblioteca de Android que te permite buscar imágenes remotas y almacenarlas en caché. Es particularmente adecuado para mostrar imágenes remotas en listas o cuadrículas, ya que incluye una subclase de conveniencia de ( ) que hace que la implementación sea sencilla. ImageView FetchableImageView

Se implementó una memoria caché de disco y una memoria dual. Hace uso de dos backports de clases de Android: LruCache para la parte de memoria y DiskLruCache para la parte de disco. fue introducido por API Nivel 12, pero lo proporcionamos aquí como una clase independiente para que pueda usar la biblioteca en API de nivel inferior. Ambos y tienen licencia de Apache Software License, 2.0.     LruCache  LruCache  DiskLruCache 

Shutterbug se inspiró en SDWebImage, que hace lo mismo en iOS. Utiliza la misma estructura e interfaz. Las personas que están familiarizadas con iOS se sentirán como en casa con Android.   SDWebImage  Shutterbug 

7. Slight

Sligh es una biblioteca fácil, de muestra y flexible para cargar, almacenar en caché y mostrar imágenes en Android escritas en Kotlin.

6. Ion

5. Android Smart Image View

SmartImageView es un reemplazo directo del ImageView estándar de Android que además permite cargar imágenes desde las URL o la libreta de direcciones de contacto del usuario. Las imágenes se almacenan en la memoria caché y en el disco para una carga súper rápida. Esta biblioteca incluye:

  • Reemplazo directo para ImageView
  • Cargar imágenes desde una URL
  • Cargar imágenes de la libreta de direcciones de contactos del teléfono
  • Carga asincrónica de imágenes, la carga ocurre fuera del hilo de la interfaz de usuario
  • Las imágenes se almacenan en la memoria caché y en el disco para una carga súper rápida
  • La clase SmartImage se puede ampliar fácilmente para cargar desde otras fuentes

4. Android Universal Image Loader

UIL Android Image Caching

UIL es una biblioteca potente y flexible para cargar, almacenar en caché y mostrar imágenes en Android. UIL tiene como objetivo proporcionar un instrumento potente, flexible y altamente personalizable para la carga, el almacenamiento en caché y la visualización de imágenes. Proporciona muchas opciones de configuración y un buen control sobre el proceso de carga y almacenamiento en caché de la imagen. Esta biblioteca incluye:

  • Carga de imágenes multiproceso (asíncrono o sincronizado)
  • Amplia personalización de la configuración de ImageLoader (ejecutores de subprocesos, descargador, decodificador, memoria y caché de disco, opciones de visualización de imágenes, etc.)
  • Muchas opciones de personalización para cada llamada de imagen de visualización (imágenes de código auxiliar, conmutador de almacenamiento en caché, opciones de decodificación, procesamiento y visualización de mapas de bits, etc.)
  • Almacenamiento en caché de imágenes en la memoria y / o en el disco (sistema de archivos del dispositivo o tarjeta SD)
  • Proceso de carga de escucha (incluido el progreso de descarga)
  • Compatibilidad con Android 2.0+.

3. Fresco by Facebook

Fresco Facebook

Una biblioteca de Android para administrar imágenes y la memoria que utilizan. Fresco se encarga de la carga y visualización de imágenes, para que tu no tengas que hacerlo. Cargará imágenes de la red, el almacenamiento local o los recursos locales y mostrará un marcador de posición hasta que llegue la imagen. Tiene dos niveles de caché; uno en memoria y otro en almacenamiento interno. En Android 4.xy versiones anteriores, Fresco coloca las imágenes en una región especial de la memoria de Android. Esto permite que tu aplicación se ejecute más rápido y sufra lo temido con mucha menos frecuencia. Fresco también admite: OutOfMemoryError 

  • transmisión de JPEG progresivos
  • visualización de GIF animados y WebP
  • Amplia personalización de la carga y visualización de imágenes.
  • ¡y mucho más!

Puede obtener más información en su sitio web aquí.

2. Picasso

Picasso Android Image Cache Library

Picasso es una potente biblioteca de descarga y almacenamiento en caché de imágenes para Android. Las imágenes agregan un contexto muy necesario y un estilo visual a las aplicaciones de Android. Picasso permite la carga de imágenes sin problemas en tu aplicación, ¡a menudo en una línea de código! Picasso maneja automáticamente muchos de los errores comunes de la carga de imágenes en Android:

  • Manejo de reciclaje y cancelación de descargas en un adaptador. ImageView 
  • Transformaciones de imágenes complejas con un uso mínimo de memoria.
  • Almacenamiento en caché de disco y memoria automático.

La reutilización del adaptador se detecta automáticamente y la descarga anterior se cancela. Si deseas contribuir con código, puedes hacerlo a través de GitHub bifurcando el repositorio y enviando una solicitud de extracción.

1. Glide

Glide Android

Glide es un marco de gestión de medios y carga de imágenes de código abierto rápido y eficiente para Android que incluye la decodificación de medios, el almacenamiento en caché de disco y memoria y la agrupación de recursos en una interfaz simple y fácil de usar. Glide admite la obtención, decodificación y visualización de imágenes fijas de video, imágenes y GIF animados. Glide incluye una API flexible que permite a los desarrolladores conectarse a casi cualquier pila de red. De forma predeterminada, Glide usa una pila personalizada basada en HttpUrlConnection, pero también incluye bibliotecas de utilidades que se conectan al proyecto Volley de Google o la biblioteca OkHttp de Square.

El objetivo principal de Glide es hacer que el desplazamiento de cualquier tipo de lista de imágenes sea lo más fluido y rápido posible, pero Glide también es eficaz para casi cualquier caso en el que necesites buscar, cambiar el tamaño y mostrar una imagen remota. Glide tiene en cuenta dos aspectos clave del rendimiento de carga de imágenes en Android:

  • La velocidad a la que se pueden decodificar las imágenes.
  • La cantidad de jank incurrida al decodificar imágenes.

Para que los usuarios tengan una gran experiencia con una aplicación, las imágenes no solo deben aparecer rápidamente, sino que también deben hacerlo sin causar muchos jank y tartamudeo de la E / S del hilo principal o recolecciones de basura excesivas.

Glide toma una serie de pasos para garantizar que la carga de imágenes sea lo más rápida y fluida posible en Android:

  • La reducción de resolución y el almacenamiento en caché inteligentes y automáticos minimizan la sobrecarga de almacenamiento y los tiempos de decodificación.
  • La reutilización agresiva de recursos como las matrices de bytes y los mapas de bits minimiza las costosas colecciones de basura y la fragmentación del montón.
  • La integración profunda del ciclo de vida garantiza que solo se prioricen las solicitudes de Fragmentos y Actividades activos y que las Aplicaciones liberen recursos cuando sea necesario para evitar que se eliminen cuando se encuentran en segundo plano.

Honorable mentions

Coil

Coil Image Loading Library Android

Una biblioteca de carga de imágenes para Android respaldada por Kotlin Coroutines. La bobina es:

  • Rápido : Coil realiza una serie de optimizaciones que incluyen memoria y almacenamiento en caché de disco, reducción de resolución de la imagen en la memoria, reutilización de mapas de bits, pausa / cancelación automática de solicitudes y más.
  • Ligero : Coil agrega ~ 1500 métodos a su APK (para aplicaciones que ya usan OkHttp y Coroutines), que es comparable a Picasso y significativamente menor que Glide y Fresco.
  • Fácil de usar : la API de Coil aprovecha las características del lenguaje de Kotlin para lograr simplicidad y un mínimo de repetición.
  • Moderno : Coil es el primero en Kotlin y utiliza bibliotecas modernas que incluyen Coroutines, OkHttp, Okio y AndroidX Lifecycles.

Coil es un acrónimo de: Co routine Image Loader.   

Si conoces otra biblioteca de almacenamiento en caché de imágenes increíble para Android, compártela con la comunidad en el cuadro de comentarios.

Esto podria interesarte

Conviertete en un programador más sociable