Almacenamiento en caché de imágenes en Xamarin Forms

From https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/images?tabs=macos
Share on facebook
Share on twitter
Share on linkedin

Alguien me preguntó sobre un problema que estaba teniendo al mostrar un ListView que tenía una imagen para cada celda. Cuando el usuario se movía por la lista, las imágenes parpadeaban y la interfaz de usuario se comportaba un poco lento. Las imágenes se estaban cargando desde internet.

El problema que tenía la persona era que no estaba usando una estrategia de almacenamiento en caché correcta para las imágenes y ahora voy a explicar cómo puedes solucionar este problema en caso de que te suceda.

Suficiente contexto, vamos a tirar código

Si deseas agregar caché a tu imagen, debes hacer algo como esto:

Vamos a proceder con una explicación

Ya seguro sabes que cuando quieres mostrar una imagen debes especificar la fuente (Source) de la imagen. Probablemente has la colocado como una URL o una ruta a un recurso, ambos se ven como cadenas, pero si miras un poco más, notarás que la propiedad Source de la imagen es en realidad de tipo ImageSource y se le puede asignar cualquier valor que herede de esta clase.

En el ejemplo del código, asignamos una instancia de UriImageSource a la propiedad Source . Esta clase tiene más propiedades, pero las tres en las que queremos centrarnos son:

  • Uri: Esta es la dirección de la imagen que queremos mostrar.
  • CachingEnabled: Este es un valor booleano que habilitará o inhabilitará el almacenamiento en caché. El valor por defecto es verdadero (true).
  • CacheValidity: La marca de tiempo (TimeSpan) que determinará cuanto tiempo durará la imagen en caché. Los parámetros de marca de tiempo (TimeSpan) son Días, Horas, Minutos, Segundos. En el ejemplo de Código C#, estamos configurando el caché a 7 días. En la muestra XAML a 30 días.

Y eso es todo, bastante conciso y bastante útil. Puedes obtener más información sobre trabajar con imágenes y la fuente de la imagen destacada de en este artículo en la documentación oficial de Xamarin. ¡Adiós!

Share on facebook
Share on twitter
Share on linkedin

¿Te gustó el artículo o tienes algún comentario? Puedes darme mention en twitter @eatskolnikov

¿Quieres recibir los artículos en tu correo?

Suscribete a mi boletín de correos y enterate cuando haya una nueva publicación

Otros artículos

.Net Core

El nuevo portal de emplea.do

Llevo un tiempo trabajando directamente y liderando esfuerzos para sacar adelante la nueva versión del portal emplea(punto)do y debo decir que me llena de emoción saber que estamos a solo un paso de publicar la nueva versión mejorada del sitio web. El site actualmente te lleva a la nueva versión

Leer más »
Xamarin

Obtener la firma del usuario

Esta es una característica solicitada para muchas aplicaciones en el mundo corporativo, si estás trabajando en algún tipo de aplicación de procesamiento de pagos o una aplicación de entregas. También es posible que necesites la firma del usuario para confirmar que ha recibido un paquete, que se ha entregado un

Leer más »
Xamarin

Definiendo estilos para nuestras aplicaciones

El uso de estilos (Styles) puede ayudar a definir una interfaz de usuario coherente para tu aplicación y es una excelente manera de hacer que tus archivos XAML sean más legibles y mantenibles a largo plazo. Algunas características de los estilos: Son muy fáciles de definir. Se puede heredar para

Leer más »
Xamarin

Cambiando la etiqueta del botón Back en iOS con Xamarin Forms

Algo de contexto He estado trabajando en la aplicación para CodecampSDQ (iOS | Android) que se celebrará en las instalaciones de Intec este 1 de junio. El código se basa en este repositorio y hemos realizado algunas adaptaciones de las que probablemente hablaré con mayor detalle más adelante. En un momento me

Leer más »
Xamarin

Áreas seguras del Layout para iOS en Xamarin Forms

Desde el lanzamiento del iPhone X, hay un “notch” en la parte superior de la pantalla en los dispositivos iOS que tiende a ser molesto porque se sobrepone al contenido de nuestra aplicación. Normalmente tendrías que agregar algún tipo de margen para evitar este problema. El mayor inconveniente con este

Leer más »