¿Cómo se "restaurará" la actividad del androide después de que se haya matado su proceso?

Como se dice en la Guía del desarrollador Las actividades se pueden restaurar después de que "el proceso de la aplicación se haya eliminado" y "El usuario navegue a la actividad". En primer lugar, nunca he visto tal cosa sucedida. No parece que pueda "navegar de nuevo" a una actividad cuando su proceso es matado, la actividad simplemente se va de la pila después de que el proceso ha desaparecido.

Si tal cosa es para suceder, ¿cómo exactamente sucederá?

Y vi una cosa rara pero buena es que: Hay una Activity A1 que comienza la Activity A2 de otra aplicación. Ahora A2 es la actividad de primer plano. Cuando la memoria baja, al menos en los emuladores (donde fácilmente puedo comer la memoria RAM), A2 se matará en lugar de A1 .

Lo que temo es algo como esto, por ejemplo: Mi aplicación tiene dos actividades en la pila, y los llamamos A0 y A1 . Y A1 , de nuevo, lanzó la Activity A2 de otra aplicación. Cuando A0 estaba a punto de lanzar A1 , da A1 una referencia a un objeto de datos D Ahora, si el proceso para A0 y A1 es eliminado mientras A2 está en primer plano, D se pierde. Cuando A2 ha terminado, parece que por lo menos A1 tendrá que ser restaurado. Y así A1 tendrá que manejar la restauración de D Y lo que es más A1 tendrá que encontrar una manera de decir a los muertos A0 la referencia a la D restaurado. Esto es complicado o he caminado por el camino equivocado?

El sistema hará todo lo posible para mantener viva la aplicación de primer plano.

El Intent que se utilizó para iniciar la actividad es guardado por el sistema cuando el proceso está a punto de ser asesinado.

De esta manera, una vez que el usuario regrese a la aplicación que ha sido asesinada, a continuación, la aplicación se restaura y el mismo Intent se dispara para iniciar la actividad, incluyendo todos los extras que podría tener.

Esto significa que cualquier dato que pase en la Intent de iniciar una actividad, seguirá existiendo cuando se restablezca la actividad.

Es posible que no lo note, pero Android mata y recrea el proceso en un día a día de uso, y eso es todo el punto de la multitarea transparente de la plataforma ofrece.

Siempre debe probar su aplicación con la opción "No mantener actividades" en la configuración de "Desarrollo".

  • onDestroy () se llama cuando se presiona el botón de retroceso
  • ¿Por qué se debe llamar OnCreate sólo una vez al inicio de la Actividad?
  • En Activity.onCreate (), ¿por qué Intent.getExtras () a veces devuelve null?
  • Nexus 5 va a modo de espera hace ciclo de vida de actividad buggy
  • Probar el estado del ciclo de vida y restaurar del proceso de aplicación de Android cuando se alcanza el estado de proceso vacío
  • ¿Cuándo usar getSharedPreferences vs savedInstanceState?
  • RxJava se vuelve a suscribir al evento tras la restauración de la actividad
  • La actividad no llamó a terminar? (API 23)
  • Manteniendo los hilos y el estado de la conexión en la aplicación de Android usando onSaveInstanceState?
  • ¿Qué es el ciclo de vida del adaptador RecyclerView?
  • Tener una instancia de actividad
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.