#VS2015 – Timer en #Xamarin Forms? casi casi, hay varias opciones

Hola!

Los que vivimos al límite siempre buscamos tener problemas de performance en nuestras aplicaciones. Claro que hacemos esto para que nuestro día a día sea más divertido. Una de las mejores formas de lograr esto es agregar malos manejos de tareas concurrentes o de threads en una App. Si no sabes mucho sobre estos temas, es muy probable que crees pequeñas fugas de memoria que te darán largas noches de alegría.

Importante: Tasks no son Threads … ahí lo dejo.

Otra forma interesante de lograr problemas de performance, es la mala utilización de Timers. Cuando la lógica de una aplicación, está guiada por Timers, pues eso comienza a oler mal.

Seguramente es por eso, que los amigos de Xamarin no han implementado una clase del tipo Timer. Esto nos ahorra muchos dolores de cabeza y además evita que los programadores del mal puedan generar código malicioso.

Importante 2: Hasta ahora no he encontrado un Timer nativo de Xamarin.

Eso sí, si lo que necesitas es un “pequeño Timer de usar y tirar” pues puedes utilizar la función StartTimer() que nos permite tener un Callback pasado un determinado período de tiempo, para poder trabajar sobre el mismo.

El siguiente código es más que simple para entender cómo funciona.

Buscando un poco en los foros de Xamarin, y tomando como base esta función, hay developers que han creado una implementación casi completa de un Timer. Puedes echarle un vistazo aquí.

Finalmente comentar, que de las opciones que he probado, la mejor hasta ahora es Advanced Timer. Es un paquete NuGet para Xamarin Forms que implementa un Timer, de los clásicos, con sus operaciones Start(), Stop() y IsEnabled.

Pues mira, varias opciones para utilizar Timers en Xamarin Forms !!!

Saludos @ Madrid

/El Bruno

References

– Xamarin StartTimer() http://developer.xamarin.com/api/member/Xamarin.Forms.Device.StartTimer/

– Xamarin Forums, Timer in PCL https://forums.xamarin.com/discussion/17227/timer-in-portable-class-library

– NuGet Advanced Timer https://www.nuget.org/packages/Mobilist.AdvancedTimer.Forms.Plugin/

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s