¿Qué ocurre en el sistema operativo Android cuando hay demasiadas aplicaciones que "duermen" en segundo plano?
He estado leyendo que Android (como la mayoría de los sistemas operativos móviles) no "salir" de las aplicaciones.
Cuando presionamos el botón Atrás, la aplicación está todavía en segundo plano (como un estado de reposo).
- Android - ¿Cuál es la diferencia entre un primer plano y un servicio de fondo?
- Diferencias fundamentales entre el sistema operativo Linux y Mobile OS (android)
- ¿Puede ocurrir la inversión de prioridad en Android?
- Android OS 2.2 Permisos: No tengo ni idea de por qué este simple código no funciona. ¿Qué estoy haciendo mal?
- Bajo qué OS es Eclipse más robusto?
Por lo tanto, me gustaría saber, lo que doees hacer cuando hay demasiadas aplicaciones que se ejecutan en el fondo?
- Uso de lenguajes de programación sobre diferentes sistemas operativos
- Desarrollo móvil (Android & iOS) principiante necesita orientación
- Aplicación de Android que no comienza desde el acceso directo
- Cómo reducir el tiempo de arranque en los sistemas operativos de Android.
- Hook Android Sytem API relacionados con la salida de texto
- Libros de Android en el sistema operativo
- ¿Cómo configurar la hora y la fecha del sistema móvil en android?
De la guía oficial para desarrolladores de Android :
El sistema Android intenta mantener un proceso de aplicación durante el mayor tiempo posible, pero eventualmente necesitará eliminar los procesos antiguos cuando la memoria se agota. Para determinar qué procesos mantener y cuáles matar, Android coloca cada proceso en una "jerarquía de importancia" basada en los componentes que se ejecutan en él y el estado de esos componentes. Los procesos con la menor importancia se eliminan primero, luego los que tienen el siguiente menor, y así sucesivamente.
Desde la perspectiva de un usuario, cuanto más memoria tiene un dispositivo Android, mejor. ¿Por qué? Las aplicaciones que no se utilizan son "inactivo" y ocupan una parte de la memoria RAM del dispositivo.
Cada vez que inicie una aplicación desde cero, es decir, una aplicación que no esté inactiva, la CPU de Android utilizará recursos para llevarlo a la vida ya la memoria.
Cuando una aplicación entra en modo inactivo y, más tarde, vuelve al modo activo, no utilizará esa CPU. Y el uso de la CPU es el escurridor de la batería principal, si no tenemos en cuenta GPS, WI-FI y Bluetooth.
¿Entonces, qué significa todo esto? Desea que las aplicaciones que utiliza con frecuencia residan en la memoria, de modo que la CPU no se utilice tanto. Android los mantendrá vivos, basados en la prioridad.
Esta es la razón por la cual los asesinos de tareas son una mala idea, y es por eso que no funcionarán más en Android 2.2, Froyo.
Ah lo habitual, android sólo va en una juerga de matar
Line 8544: 01-24 18:41:30.610 I/am_kill ( 2474): [5601,com.google.android.youtube,12,too many background] Line 8655: 01-24 18:42:15.637 I/am_kill ( 2474): [5995,com.sec.android.app.camera:CropImage,12,too many background] Line 8714: 01-24 18:42:26.505 I/am_kill ( 2474): [5961,com.sec.android.app.camera,12,too many background]
La actividad es asesinada. Esto no debería ser un problema, porque el desarrollador leer este manual, y codificado para ello 🙂
http://developer.android.com/guide/topics/fundamentals.html#lcycles
Defina 'demasiados'. Todos los derechos reservados
Las aplicaciones inactivas no utilizan recursos (a menos que estén específicamente programados para hacerlo).
Si el teléfono pierde la memoria, las aplicaciones con la prioridad más baja se matan y se recupera la memoria.
Los asesinos de tareas en Android son innecesariamente innecesarios.
Lea más sobre esto aquí: ¿Por qué no debería usar un asesino de tareas con Android?
Cuando el sistema operativo necesita más capacidad para ejecutar nuevas actividades, cierra las tareas de fondo. Por ejemplo, si inicia la aplicación de explorador, que tiene grandes requerimientos de recursos, muchas actividades de fondo se cerrarán.
Sin embargo, puede escribir aplicaciones de Android para que funcionen como un servicio y no se cerrarán y seguirán ejecutándose en segundo plano.
Lea estos temas para más detalles:
http://developer.android.com/guide/topics/fundamentals.html
http://developer.android.com/reference/android/app/Activity.html
Android gestiona la tarea de pedir que las actividades terminen cuando desea reasignar recursos.
En la página "Fundamentos de la aplicación" de la guía para desarrolladores:
Si una actividad se detiene o se detiene, el sistema puede soltarla de la memoria, ya sea pidiéndole que finalice (llamando a su método finish ()), o simplemente matando su proceso. Cuando se vuelve a mostrar al usuario, debe reiniciarse completamente y volver a su estado anterior
http://developer.android.com/guide/topics/fundamentals.html#lcycles
Básicamente, Android permite que los procesos se ejecuten en segundo plano hasta que necesite los recursos, momento en el que mata algunos de ellos procesados para recuperar la memoria.
Aquí está un acoplamiento a una buena explicación del problema, él está en la raíz del problema de "necesito un asesino de tarea" que muchos usuarios de Android discuten sobre.