Bueno aquí sigue el articulo de manejo en Android del cual se venía hablando anteriormente...
Entendiendo la prioridad de las aplicaciones y el estado de los procesos.
El
orden en que los procesos son matados para reclamar recursos es
determinados por la prioridad de las aplicaciones, La prioridad de la
aplicacion es igual a su componente de la mas alta prioridad.
Donde
dos aplicaciones tienen la misma prioridad, el proceso que ha estado a
mas larga baja prioridad sera matado primero. La prioridad de un proceso
tambien es afectada por sus dependencias interprocesos; si una
aplicacion tiene una dependencia en un servicio o proveedor de contenido
de una seguando aplicacion, la segunda aplicacion tendra al menos tanta
prioridad como la aplicacion que esta apoya.
Todas las aplicaciones Android permaneceran en ejecucion y memoria hasta que el sistema necesite recursos para otras apps.
Es
importanto estructurar una aplicacion correctamente para asegurar que
su prioridad es apropiada para el trabajo que realiza, si no se hace
esto, la aplicacion podria ser matada mientras esta en el medio de algo
importante.
La siguiente lista detalla cada estado de
una aplicacion, explicando como el estado es determinado por los
componentes que compremeten dicha aplicacion:
Procesos activos (Active foreground):
Son procesos de aplicaciones con componente interactuando actualmente
con el usuario. Estos son los procesos que Android esta intentando de
mantener responsivos al reclamar recursos, estos son generalmente muy
pocos procesos y ellos seran matados solo como ultimo recurso/opcion.
Los procesos activos incluyen:
* Actividades en estado activo: Estan en el foreground y responden a los eventos del usuario.
* Actividades, servicios, recividores broadcast que estan en ejecucion actual en un manejador de eventos onReceive.
* Servicios Que estan ejecutando un manejador de eventos onStart, onCreate o onDestroy.
Procesos visibles:
Visibles, pero inactivos. Son aquellas actividades visibles, como el
nombre sugiere, actividades visibles estan visibles (:P) pero ellas no
estan en el foreground o respondiendo a eventos del usuario. Esto sucede
cuando una actividad es parcialmente tapada (por una actividad que no
sea de pantalla completa o una actividad transparente). Estos
generalmente son unos pocos procesos visibles, y ellos solo seran
matados en circunstancias extremas para permitir que los procesos
activos continuen.
Procesos de servicios iniciados:
Son procesos de servicios que han sido iniciados, los servicios apoyan
procesamiento en ejecucion que deberia continuar sin una interfaz
visual. Como los servicios no interactuan directamente con el usuario,
ellos reciben una prioridad ligeramente mas baja que las actividades
visibles. Son aun considerados para estar como procesos foreground y no
seran matados a menos que los recursos sean necesitados para procesos
activos o visibles.
Procesos de fondo: Son
procesos de actividades que no son visibles y no tienen ningun servicio
que ha sido iniciado. Generalmente hay un gran numero de procesos de
fondo que Android matara usando "last-seen-first-killed pat" para
obtener recursos para procesos foreground.
Procesos vacios: Para
mejorar el rendimiento del sistema en general, Android frecuentemente
mantiene aplicaciones en memoria luego de que han alcanzado el limite de
su tiempo de uso (vida). Android mantiene esta cache para mejorar el
inicio de aplicaciones cuando son re-lanzadas. Estos procesos son
matados tan rutinariamente como sea necesario.
Como usar memoria eficientemente.
Android
maneja aplicaciones abiertas que estan corriendo en el fondo, asi que
no nos deberiamos preocupar por eso, esto significa que cierra las
aplicaciones cuando el sistema necesita mas memoria. Asi que la
conclusion es que "toda memoria libre es memoria desperdiciada" (algo
basico en la premisa de Linux que luego windows copio en WIN7 para los
que no sabian :P). Asi que todo esta bien y no tienes que estar
preocupado si se te acaba la memoria, es una conducta tipica de Android!
Join Amazon Kindle Unlimited 30-Day Free Trial
0 Comentarios
Escribe tu comentario