Ir al contenido principal

Procesos y memoria en Android


Memoria:
-Al igual que Java y NET., Android utiliza el entorno de ejecución y la máquina virtual para gestionar la memoria de la aplicación.
-Memoria basada en la “localidad temporal” (como en la memoria caché), es decir las aplicaciones no se llegan a cerrar cuando el usuario deja de utilizarlas, ya que la tendencia es utilizar un número reducido de aplicaciones a lo largo del día.
-Android a trevés de estadísticas selecciona la prioridad de aplicaciones basándose en el uso de usuario para pronosticar que proceso es probable en ser más usado, algo así como usar el algoritmo de gestión de memoria óptimo donde se reemplaza la página de un proceso que menos se use. A través del código *#*#4636#*#* podemos ver las estadísticas de uso de las aplicaciones.
-No se usa memoria swap  (memoria de intercambio), pero trata de simularla,el gestor de procesos puede ser visto como una forma de swap: los procesos de aplicación representan una cierta cantidad de memoria en uso, cuando queda poca memoria, algunos procesos pueden ser matados, y cuando esos procesos se necesitan otra vez, pueden ser iniciados desde su último estado guardado
-Android posee procesos con alta y baja prioridad, siendo imperiosamente la implementación de memoria virtual (Henceforth Virtual Memory) y paginación por demanda, es decir, Android carga procesos en memoria solo cuando van a ser utilizados.
-El algoritmo de reemplazo en Linux 2.6.x y por consiguiente en Android (2.3 o inferior) es denominado “Page Frame Reclaiming Algorithm”, que es básicamente un algoritmo LRU con ciertas modificaciones, como la implementación de listas y prioridad en los procesos activos

Procesos:
-Dalvik Virtual Machine es una máquina virtual basada en registros que ha sido optimizada para asegurar que un dispositivo puede ejecutar múltiples instancias de manera eficiente. Se basa en el kernel de Linux para la gestión de memoria de bajo nivel. Esto asegura la multitarea.
- Android asegura la respuesta de la aplicación, deteniendo y matando a los procesos que obstaculizan la fluidez y libera recursos para las aplicaciones de mayor prioridad.
-No existe distinción entre aplicaciones del core y aplicaciones de terceros.
-Varias aplicaciones pueden compartir procesos, o una aplicación puede hacer uso de múltiples procesos en función de sus necesidades
-A la gestión de procesos en Android se le llama: “el ciclo de vida de Android”
-Un BroadcastReceiver permite una aplicación se ejecute, por un breve período de tiempo, en segundo plano como consecuencia de algo que está ocurriendo.
-Un servicio permite a una aplicación práctica a más largo se ejecutan operaciones en segundo plano, una app controla a su servicio. Dice cuando se ejecuta y cuando se detiene.
-La gestión de procesos para los servicios es diferente a los BroadcastReceiver, ya que un número ilimitado de servicios puede solicitar que se ejecuta por un  tiempo desconocido.
Prioridad:Una prioridad de aplicación es igual a prioridad más alta de sus componentes, igualmente la prioridad del proceso también se ve afectada por las dependencias entre procesos, si una aplicación tiene una dependencia en un servicio o proveedor de contenidos suministrados por una segunda aplicación, la aplicación de secundaria tendrán al menos una prioridad tan alta como la aplicación que da soporte.
center


Tipos de procesos según su prioridad:
  • Activos: son los que están teniendo alguna interacción con el usuario, en esta categoría también se incluyen Actividades, Servicios, o  receptores que se está ejecutando actualmente un controlador de eventos OnReceive.
  • Visibles:  Hospeda una actividad que está visible en la pantalla, pero no en el primer plano.
  • Servicio: Hospeda un servicio que ha sido inicializado con el método startservice(). Aunque estos procesos no son directamente visibles al usuario, generalmente están haciendo tareas que para el usuario son importantes (tales como reproducir un archivo mp3 o mantener una conexión con un servidor de contenidos). El sistema siempre tratará de mantener esos procesos corriendo, a menos que los niveles de memoria comiencen a comprometer el funcionamiento de los procesos de primer plano o visibles.
  • Segundo Plano: engloban a las actividades que no son visibles y están en ejecución.  El sistema siempre tratará de mantener esos procesos corriendo, a menos que los niveles de memoria comiencen a comprometer el funcionamiento de los procesos de primer plano o visibles.
  • Vacíos: No hospeda a ningún componente de aplicación activo. La única razón para mantener ese proceso es tener un "caché" que permita mejorar el tiempo de activación en la próxima vez que un componente de su aplicación sea ejecutado.
Referencias:

Comentarios

Entradas más populares de este blog

Instalación de Ubuntu Linux 17.04 para el curso Sistemas Operativos Universidad Nacional de Colombia Participantes: Lucas Esteban Muñoz Montes - 1020485417                         Alejandro Herrera Patiño - 1017255217                         Jerson David Mendoza Álvarez Para instalar el sistema operativo Ubuntu Linux en su versión 17.04 debemos de tener un computador con los siguientes requisitos para la versión de escritorio:  Procesador mayor a Intel Celeron de minimo 700 MHz 512 Mb de memoria Ram para el sistema de memoria 5 GB de disco duro, alternativamente se puede montar sobre una USB. VGA con capacidad de 1024*768 Puerto USB o CD/DVD para la instalación Conexión a Internet para descargar algunos complementos Al comenzar la instalación debemos tener un dispositivo de almacenamiento para guardar la copia del sistema operativo de pr...

Apple presenta iPhone 8

Apple presento tres diferentes productos, el iPhone 8, iPhone 8 Plus y iPhone X, siendo este primero el directo sucesor del iPhone 7. Entre sus novedades se encuentra un cambio en el diseño, tal como la inclusión de vidrio en la parte trasera, es compatible con la carga inalambrica, inclusión de un nuevo procesador, mejora en la cámara para tareas de realidad aumentada, entro otros. El precio de esta celular ira de los US$699. referencia: https://www.cnet.com/es/analisis/apple-iphone-8-primer-vistazo/