Ciclo de vida de android onActivityResult vs onStop

Si la actividad A inicia la actividad B como resultado, tenía la impresión de que el método onStop de actividad B se llama antes del método onActivityResult de la actividad A. ¿Por qué no es así? Acabo de probarlo con una variable estática que se establece en B.onStop pero cuando lo leí en A.onActivityResult la variable es hasta null.

Creo que lo que quieres hacer es llamar onPause , sin embargo, no quieres hacer demasiado allí. Esto es lo que dicen los docs :

Protected void onPause () Añadido en API nivel 1

Llamado como parte del ciclo de vida de la actividad cuando una actividad va en segundo plano, pero aún no se ha matado. La contraparte de onResume ().

Cuando se inicia la actividad B delante de la actividad A, esta devolución de llamada se invocará en A. B no se creará hasta que A's onPause () regrese, así que asegúrese de no hacer nada largo aquí.

Esta devolución de llamada se utiliza principalmente para guardar cualquier estado persistente que la actividad esté editando, para presentar un modelo de "edición en el lugar" al usuario y asegurarse de que no se pierda nada si no hay suficientes recursos para iniciar la nueva actividad sin matarla. Este es también un buen lugar para hacer cosas como detener animaciones y otras cosas que consumen una notable cantidad de CPU con el fin de hacer el cambio a la siguiente actividad tan rápido como sea posible, o para cerrar los recursos que son de acceso exclusivo, como la cámara.

Creo que su impresión es incorrecta, onActivityResult se llama antes onResume y la documentación de onStop en http://developer.android.com/reference/android/app/Activity.html en la tabla que sigue al diagrama del ciclo de actividad

Se llama cuando la actividad ya no es visible para el usuario, porque otra actividad se ha reanudado y está cubriendo esta . Esto puede suceder ya sea porque se está iniciando una nueva actividad, ya se está presentando una existente, o ésta está siendo destruida.

Así, onResume en A se llama antes onStop en B se llama.

  • La aplicación reanuda los resultados en bloqueo con FormsAppCompatActivity
  • Aclaración sobre la documentación de Android
  • ¿Puede Android Service superar el objeto de aplicación?
  • Uso del servicio como singleton en Android
  • Apertura de la cámara en un proceso diferente
  • Cómo administrar el estado de la interfaz de usuario y la pila posterior en un diseño de panel único / dual
  • Android: Duplicación de fragmentos al utilizar el Administrador de fragmentos de soporte
  • ¿Android almacena variables estáticas?
  • ¿Por qué utilizar Fragment # setRetainInstance (boolean)?
  • Android: onPostResume se llama después de que se reanude el fragmento
  • Establecer un oyente personalizado para escuchar en toda la aplicación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.