Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Ciclo de vida de la actividad de Android en Jelly Bean

He estado desarrollando una aplicación desde hace unos meses y preparándome para lanzarla. He estado usando el Motorola Xoom con Android 4.0.4 para las pruebas durante todo el proceso y todo ha funcionado sin fallar. Compré un Nexus 7 de Google (corriendo Jelly Bean 4.1) y ahora estoy recibiendo todo tipo de problemas con el ciclo de vida de la actividad cuando el dispositivo duerme o se apaga.

He creado un nuevo proyecto con el único propósito de comprobar el ciclo de vida y este es el resultado que me ocurrió. El siguiente código es una muestra de lo que he hecho en cada uno de los métodos del ciclo de vida.

@Override protected void onPause() { Log.i("TEST", "onPause()"); super.onPause(); } 

Resultados de Xoom (resultados esperados)

 ---------- Program Launch ------------- onCreate(null) onStart() onResume() ---------- Turn Off Screen ------------ onPause() onSaveInstanceState(not null) onStop() ---------- Turn Screen On ------------- onReStart() onRestoreInstanceState(not null) onResume() 

Resultados de Nexus 7 (resultados inesperados)

 ---------- Program Launch ------------- onCreate(null) onStart() onResume() ---------- Turn Off Screen ------------ onPause() onSaveInstanceState(not null) onStop() onDestroy() onCreate(not null) onStart() onRestoreInstanceState(not null) onResume() onPause() ---------- Turn Screen On ------------- OnResume() onPause() onSaveInstanceState(not null) onStop() onDestroy() onCreate(not null) onStart() onRestoreInstanceState(not null) onResume() 

Una vez más, estos resultados son de un proyecto nuevo con ningún cambio de código distinto de las declaraciones de registro en cada uno de los métodos. ¿Por qué hay tantas llamadas de método adicionales innecesarias cuando el Nexus 7 se apaga y se vuelve a encender? Parece estar destruyendo completamente la aplicación y luego volver a crear.

Por razones de integridad, cuando se utiliza el botón de inicio y, a continuación, volver a iniciar la aplicación, el ciclo de vida parece ser coherente entre los dispositivos.

Gracias de antemano por cualquier ayuda. Wayne

  • Cómo distinguir entre el cambio de orientación y dejar la aplicación android
  • Android - Ciclo de vida y guardar una pregunta de estado de instancia
  • El contenido de TextView se pierde después de cambiar la orientación de la pantalla
  • Cómo reiniciar la aplicación de Android desde la aplicación
  • OnRestart vs. OnResume - Cuestión del ciclo de vida de Android
  • ¿Registrar automáticamente eventos de ciclo de vida de Android mediante ActivityLifecycleCallbacks?
  • OnNewIntent () y los oyentes registrados
  • OnCreateView método se llama cuando? Y ¿Cuántas veces en el ciclo de vida de la actividad?
  • 2 Solutions collect form web for “Ciclo de vida de la actividad de Android en Jelly Bean”

    Parece que su actividad se ha recreado en los escenarios en cuestión. Esto suele suceder cuando se produce un cambio de configuración en el sistema. Su actividad se vuelve a crear y se reinicia de forma predeterminada, a menos que decida explícitamente manejar el cambio de configuración por su cuenta. Debe comprobar esta lista , uno de estos cambios podría ocurrir cuando encienda o apague la pantalla (ya que está seguro de que no gira el dispositivo al mismo tiempo?).

    Acerca de los cambios de configuración, puede leer en esta página oficial.

    Jelly Bean 4.1 – Nexus 7 tiene una opción en este camino:

    Configuración -> Opciones para desarrolladores -> No mantener actividades …

    Esa opción matará todas las actividades que van al fondo. Así que cuando Android cambie el estado a 'dormir' y 'despertar' su actividad está siendo destruida y recreada.

    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.