¿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.
- Cómo utilizar BaseGameActivity.getApiClient () en varias actividades?
- Iniciar otra actividad dentro de FrameLayout de TabActivity
- Ayuda con la primera actividad de Android
- Suprimir notificaciones de un servicio si la actividad se está ejecutando
- ¿Cómo conservar el estado del diálogo de fecha y hora en el cambio de orientación?
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?
- ¿Cómo hacer que la clase AndroidApplication de LibGDX admita Fragmentos de Android?
- Enviar datos de la actividad al servicio en ejecución
- Actualizar textview en la actividad de Fragment
- No puedo ver mi aplicación en la lista de aplicaciones Android recientemente abiertas.
- Ciclo de vida de la actividad de Android después de salir del sueño
- ¿Cómo iniciar la actividad en el adaptador?
- ¿Cómo podemos saber que la transición de elementos compartidos de la actividad va a ejecutarse?
- ¿Cómo comprobar si la actividad es visible? OnResume no es suficiente
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?