Gestión de Memoria en ANDROID
Gestión de Memoria en ANDROID
Introducción
Una de las primeras cosa que llama la atención a los s de equipos informáticos que empiezan usar Android, es la ausencia del botón cerrar aplicación que encontramos en sistemas como Windows, Linux o Mac OS
Gestión de Memoria en ANDROID Esta característica de ANDROID tiene su origen en el hardware al que estaba orientado originalmente el sistema operativo ANDROIS: la telefonía móvil Estos dispositivos están limitados en cuanto a tamaño y consumo de energía lo cual afecta a la capacidad total de memoria que pueden incorporar los dispositivos y a la potencia del procesador tanto por el tamaño como por las exigencias de consumo reducido de energía
La forma en que ANDROID a hecho frente a estas limitaciones a influido en la arquitectura del sistema y el ciclo de vida de las aplicaciones.
Gestión de Memoria en ANDROID Android se diseñó pensando en asegura en todo memento la fluidez de ejecución de las aplicaciones independientemente de las limitaciones del dispositivo en el cual se está ejecutando y con el menor consumo posible de energía. Esto se consiguió con las siguientes estrategias:
• una vez que la aplicación se inicia permanece en memoria hasta que su memoria sea reclamada por el SO • si una aplicación que se está ejecutando en primer plano, requiere más memoria para la ejecución de un proceso, el sistema cierra las aplicaciones que están dormidas o se están ejecutando en segundo plano
Gestión de Memoria en ANDROID La arquitectura de Android y el ciclo de vida de las
aplicaciones, están pensada para permitir el manejo de las aplicaciones y su memoria asociada, con esta estrategia.
Gestión de Memoria en ANDROID Arquitectura del sistema ANDROID
Gestión de Memoria en ANDROID Arquitectura del sistema ANDROID Android es un Sistema operativo basado en Linux, simplificada para manejar la mayoría de tareas. Utiliza bibliotecas nativas en C abiertas. Todas las operaciones básicas del sistema operativo son manejadas por el de kernel de Linux. Utiliza el entorno de ejecución y la máquina virtual Dalvik para gestionar la memoria de las aplicaciones así como también maneja los tiempos de vida de los proceso. Cada aplicación Android se ejecuta en un proceso independiente dentro de su propia instancia de Dalvik, renunciando a toda responsabilidad de la memoria y la gestión de procesos
Gestión de Memoria en ANDROID Maquina Virtual Dalvik Android no utiliza una máquina virtual Java (VM) tradicional como Java ME, utiliza su propia máquina virtual. Dalvik Virtual Machine es una máquina virtual basada en registros que ha sido optimizada para asegurar que un dispositivo pueda ejecutar múltiples instancias de manera eficiente. Se basa en el kernel de Linux subyacente para manejar las funcionalidades de bajo nivel, incluyendo la seguridad, la planificación de procesos, y la gestión de la memoria. Todo el hardware de Android y a los servicios del sistema se gestiona mediante Dalvik.
Gestión de Memoria en ANDROID Ciclo de vida de una aplicación ANDROID El ciclo de vida de una aplicación ANDROID es diferente al de aplicaciones de otros sistemas operativos. Las aplicaciones de ANDROID se construyen con un conjunto de elementos básicos de visualización llamados actividades y que vendrían a ser como pantallas o ventanas de la aplicación. Android maneja las actividades como una “pila” de actividades previamente visualizadas. El no puede serrar las actividades, solo puede retroceder en la pila de actividades pulsando la tecla atrás o iniciar nuevas actividades al ejecutar una nueva aplicación.
Gestión de Memoria en ANDROID Ciclo de vida de una aplicación ANDROID El ciclo de vida de una aplicación ANDROID es diferente al de aplicaciones de otros sistemas operativos. Las aplicaciones de ANDROID se construyen con un conjunto de elementos básicos de visualización llamados actividades y que vendrían a ser como pantallas o ventanas de la aplicación.
Android maneja las actividades como una “pila” de actividades previamente visualizadas. El no puede serrar las actividades, solo puede retroceder en la pila de actividades pulsando la tecla atrás o iniciar nuevas actividades al ejecutar una nueva aplicación.
APLICACIÓN X
Gestión de Memoria en ANDROID Estados de una actividad en ANDROID Cada aplicación Android corre dentro de su propio proceso Linux. Este proceso es creado para la aplicación y continuará vivo hasta que ya no sea requerido y el sistema reclame su memoria para asignársela a otra aplicación. Una característica importante, y poco usual, de ANDROID es
que la destrucción de un proceso no es controlado directamente por la aplicación sino por el sistema operativo. Una actividad en Android puede estar en uno de estos cuatro estado.
Gestión de Memoria en ANDROID Prioridad de un proceso en ANDROID Android mantiene en memoria todos los procesos que quepan aunque no se estén ejecutando. Una vez que la memoria está llena y se ejecutar una nueva aplicación, el SO ha de determinar qué proceso de los que están en ejecución ha de ser eliminado. ANDROID ordena los procesos en una lista
jerárquica,
asignándole
a
cada
uno
una
determinada
"importancia". Cuando el ha estado utilizando una actividad, y tras cambiar a otras, regresa a la primera, lo habitual es que esta permanezca en memoria y continúe su ejecución sin alteraciones.
Gestión de Memoria en ANDROID Conclusiones Android es un sistema operativo multitarea cuya arquitectura y forma de gestionar la memoria para la ejecución de aplicaciones a sido fuertemente influenciada por las limitaciones y características particulares de los distintos hardware al que estaba destinado. La inclusión de la máquina virtual Dalvik permite a los desarrolladores implementar aplicaciones sin preocuparse por las características físicas tales como tamaño de la pantalla/display, cantidad de memoria o características particulares del dispositivo en el cual va a ejecutarse la aplicación. Su arquitectura está diseñada para que los desarrolladores al momento de programar una aplicación no tengan que preocuparse por el ciclo de vida de la aplicación ni por la istración de memoria.
Gestión de Memoria en ANDROID Referencias Curso “Android: Programación de aplicaciones para móviles” de la universidad Politécnica de Valencia http://www.androidcurso.com/index.php/curso-android-basico SOZPIC - Gestion de memoria en Android http://www.sozpic.com/gestion-de-memoria-en-android/ Slashmobility – Catalogo de cursos de Android http://slashmobility.com/slash/content/cursos.php Introduccion a Android (Biblioteca Open Libra) http://www.etnassoft.com/biblioteca/introduccion-a-android/ Pagina de El Android Libre http://www.elandroidelibre.com Wikipedia http://es.wikipedia.org/wiki/Android
Gracias