¿Cuál es el estado de mi actividad una vez que mi proceso de solicitud ha sido matado?
He estado probando el comportamiento de mi programa ejecutando una aplicación de memoria de comer que obliga a mi aplicación a ser asesinado. Después de leer las respuestas a ¿Dónde está guardado el paquete de onSaveInstanceState? , Estoy confundido acerca de algunos de los resultados que estoy viendo.
Ambas respuestas dadas en ese enlace implican que las actividades individuales, no las aplicaciones, se destruyen cuando la memoria necesita ser recuperada. Pero de acuerdo con http://developer.android.com/guide/components/processes-and-threads.html , los procesos – no las actividades individuales – se matan. Y como todos los componentes normalmente se ejecutan en el mismo proceso, esperaría que toda la aplicación sea eliminada en situaciones de poca memoria. Mis pruebas son consistentes con la documentación de Android en que ya no veo el proceso en ejecución cuando ejecuto mi memoria comer aplicación.
- Android: Error al entregar el resultado ResultInfo {who = null, request = 1, result = -1, data = Intent
- Dos actividades del lanzador en el teléfono, una en la tableta
- ¿Cuáles son los diferentes métodos de ciclo de vida onCreate () y onCreateView () en Fragment?
- OverridePendingTransition para actividades deslizantes dentro y fuera suavemente
- Denominación de actividad de Android
Así que si todo el proceso es asesinado, ¿estoy correcto al asumir que las respuestas dadas en esa pregunta son incorrectas? Pero si es así, ¿qué es lo que mantiene mi Bundle alrededor cuando reanudo mi solicitud si el proceso fue asesinado? ¿Está realmente garantizado que nunca se escribirá en disco?
- Android cambia el diseño dinámicamente
- Cómo especificar actividades que sólo son para teléfonos o tabletas en Android
- Repetición inesperada de "nombre del paquete" mientras se reanudaba en '' nombre del paquete '' Error en Android
- Reinicio de la aplicación de Android después de que se haya ejecutado el proceso
- Android: Duplicación de fragmentos al utilizar el Administrador de fragmentos de soporte
- Tener la aplicación ejecutándose sobre otra aplicación
- Aplicación de pantalla completa android
- ¿Cómo puedo iniciar una nueva actividad como un círculo gastado desde el centro
Ambas respuestas dadas en ese enlace implican que las actividades individuales, no las aplicaciones, se destruyen cuando la memoria necesita ser recuperada.
Eso es incorrecto, aunque yo estaba confundido en este punto durante mucho tiempo.
IMHO, a lo sumo una de las tres respuestas sobre esa pregunta "implica que las actividades individuales, no las aplicaciones, se destruyen cuando la memoria necesita ser reclamada".
Pero si es así, ¿qué es lo que mantiene mi Bundle alrededor cuando reanudo mi solicitud si el proceso fue asesinado?
A veces, nada es "mantener [su] paquete alrededor". Otras veces, un proceso central para el sistema operativo es "mantener [su] paquete alrededor".
¿Está realmente garantizado que nunca se escribirá en disco?
No está "garantizado", en la medida en que no está documentado si está o no escrito en disco. Si se escribe en disco, lo hará un proceso de OS (no el tuyo), y el archivo debe ser ilegible por otros procesos.
- Repetición de niños en la lista expandible
- ¿Por qué el AsyncTask de mi servicio bloquea AsyncTasks de la actividad principal?