Memoria en ANDROID.ppt
Transcript of Memoria en ANDROID.ppt
Gestión de Memoria en
ANDROID
Gestión de Memoria enANDROID
IntroducciónUna de las primeras cosa que llama la atención a los usuarios 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 enANDROID
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 enANDROID
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 enANDROID
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 enANDROID
Arquitectura del sistema ANDROID
Gestión de Memoria enANDROID
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 enANDROIDMaquina 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 acceso a los servicios del sistema
se gestiona mediante Dalvik.
Gestión de Memoria enANDROID
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 usuario 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 enANDROID
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 usuario 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 enANDROID
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 enANDROID
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 usuario 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 enANDROID
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 administración de memoria.
Gestión de Memoria enANDROID
ReferenciasCurso “Android: Programación de aplicaciones para móviles” de la universidad Politécnica de Valenciahttp://www.androidcurso.com/index.php/curso-android-basico
SOZPIC - Gestion de memoria en Androidhttp://www.sozpic.com/gestion-de-memoria-en-android/
Slashmobility – Catalogo de cursos de Androidhttp://slashmobility.com/slash/content/cursos.php
Introduccion a Android (Biblioteca Open Libra)http://www.etnassoft.com/biblioteca/introduccion-a-android/
Pagina de El Android Librehttp://www.elandroidelibre.com
Wikipedia http://es.wikipedia.org/wiki/Android
Gracias