sábado, 3 de marzo de 2012

Tipos de aplicaciones en Android



La mayoría de las aplicaciones de Android se caen en una o dos de estas categorías:
·         Foreground (De Primer Plano). Estas aplicaciones solo se utlizan cuando el usuario las ve y las usa. En cuanto la minimiza o cierra, deja de actuar. Los juegos son un ejemplo típico de estas aplicaciones.
·         Background (De fondo). Estas aplicaciones tienen una interacción limitada con el usuario, pasan la mayoría de su vida escondidas, esperando algun evento. Aplicaciones para responder SMS o interactuar con llamadas son ejemplos.
·         Intermittent (Intermitentes). Son aplicaciones que son interactivas, pero hacen mucho de su trabajo de fondo, notificando a los usuarios cuando es apropiado. Servicios de Chat y Música son ejemplos.
·         Widget, Live Wallpapers. Son aplicaciones que viven solamente en el home-screen del aparato.
Al crear una aplicación, podemos utilizar todas las técnicas mencionadas anteriormente, pero es importante considerar como la utilizará el usuario y diseñar la interfaz apropiadamente.
Aplicaciones de Primer Plano
Al crear aplicaciones de primer plano, necesitamos considerar el Ciclo de Vida de Actividades (detallado mas delante), para que la Activity pueda cambiar de primer a segundo plano sin mayor problema.
Las aplicaciones tienen poco control sobre su ciclo de vida, una aplicacion que requiere recursos matará a las que no estan en uso y tienen poca prioridad, por lo que es necesario guardar el estado de la aplicación cuando ésta deja el Primer Plano, y cargarlo nuevamente cuando el usuario vuelve a utilizarla, de manera que ve exactamente lo mismo que tenía anteriormente.
Servicios de Fondo e Intent Receivers
Estas aplicaciones corren silenciosamente, esperando algún evento que las despierte, como cambios de hardware o recibir un SMS o inclusive una señal de otra aplicación.
Aún que es posible crear una aplicación 100% invisible, es preferible mostrar al usuario una especie de dialogo de configuración y por lo menos confirmar con el usuario si en verdad quiere que el servicio esté corriendo de fondo.
Aplicaciones Intermitentes
Son aplicaciones que combinan los dos tipos anteriores, como aplicaciones de Chat e Email. El usuario configura la aplicación, y deja el servicio de fondo esperando a recibir mensajes o correos para despues contestarlo.
Este tipo de aplicaciones deben estar concientes del estado en el que estan, para evitar actualizar la interfáz gráfica si el usuario on esta usando la aplicación, y notificar al usuario mientras que la aplicación corre de fondo.
Widgets y Live Wallpapers
Los Live Wallpapers fueron introducidos en Android 2.0, pero los Widgets han sido parte de Android desde sus principios. Estos son componentes que permiten al usuario interactuar con el teléfono sin necesidad de lanzar la aplicación. Los Live Wallpapers permiten animar el Wallpaper e inclusive permitir al usuario interactuar con el mismo. Pueden accesar componentes como el porcentaje de batería, o el acelerometro y reaccionar según los valores que reciben.
Los Widgets pueden ser componentes estaticos o interactivos, y generalmente se utilizan para desplegar el porcentaje de batería, el clima o la fecha y la hora o información sobre la aplicación (Últimos Tweets recibidos, etc). 
Según esta jerarquía, Android prioriza los procesos existentes en el sistema y decide cuáles han de ser eliminados, con el fin de liberar recursos y poder lanzar la aplicación requerida.
 Para los procesos en segundo plano, existe una lista llamada LRU (Least Recently Used). En función de esta lista se van eliminando los procesos; los primeros que se eliminan son aquellos que llevan más tiempo sin usarse. Así el sistema se asegura de mantener vivos los procesos que se han usado recientemente.

Bibliografía:
https://sites.google.com/site/swcuc3m/home/android/generalidades/aplicacionespag2

2 comentarios: