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!

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

Comparte este post con tus amigos

Share on linkedin
Share on twitter
Share on facebook

¿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

Enmanuel Toribio hablando sobre Xamarin en codecamsdq 2019
Eventos

La Experiencia CodecampSDQ

El sábado pasado, 1 de junio, tuve el privilegio de participar como miembro del personal y orador en el CodecampSDQ. Se llevó a cabo en las instalaciones de la Universidad INTEC aquí en Santo Domingo. Este evento ha estado ocurriendo durante muchos años y se ha convertido en una especie

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 »
From https://docs.microsoft.com/en-us/xamarin/xamarin-forms/user-interface/images?tabs=macos
Xamarin

Almacenamiento en caché de imágenes en Xamarin Forms

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

Leer más »
Xamarin

Agregando autenticación con huellas digitales en Xamarin Forms

Agregar una autenticación de huella digital para proyectos multiplataforma nunca ha sido tan fácil como con el paquete de NuGet Plugin.Fingerprint. Pero primero… Algunas cosas para aclarar acerca de la autenticación biométrica o por huella digital. Estas son limitaciones de implementación por la tecnología en sí y no están introducidas

Leer más »
Cinco Preguntas

Cinco preguntas sobre Startup Weekend

Del 10 al 12 de mayo del año en curso, seré voluntario como coach de tecnología en la próxima entrada de Startup Weekend Fintech, así que quise escribir un poco sobre el tema. ¿Qué es Startup Weekend Fintech? Startup Weekend es un evento, algo así como un hackathon, donde puedes

Leer más »