Ciclo de vida de la actividad de Android y dispositivo de bloqueo / desbloqueo
Acabo de encontrar que cuando el dispositivo tiene la pantalla de la cerradura permitida, sucede lo siguiente. Para esta actividad, android: screenOrientation = "landscape" se establece en el manifiesto. Luego, realizo lo siguiente con mi teléfono en modo retrato.
- El usuario abre una actividad.
- OnCreated () se llama
- OnStart () se llama
- OnResume () se llama
- El usuario bloquea el dispositivo 4.5 onPause se llama ()
- OnDestroy () se llama
- OnCreate () se llama
- OnStart () se llama
- OnResume () se llama 8.5 onPause se llama ()
- El usuario desbloquea el dispositivo
- OnResume () se llama
- OnDestroy () se llama
- OnCreate () se llama
- OnStart () se llama
- OnResume () se llama.
Bueno, no entiendo por qué 6,7,8 se ejecutan después de que la pantalla se apaga .. También no entiendo por qué se ejecutan 11, 12, 13, 14. ¿Ocurren algunas cosas raras cuando bloqueo y desbloqueo el dispositivo? Estoy de repente confundido con el ciclo de vida de la actividad .. ¿Puede alguien aclarar esto?
- Ciclo de vida de actividad de Android y ciclo de código nativo de JNI
- Cómo distinguir si onDestroy será llamado después de onPause
- Android: Duplicación de fragmentos al utilizar el Administrador de fragmentos de soporte
- Android Chronometer, retener el estado de tiempo (y seguir contando en segundo plano)
- ¿OnDestroy () o finish () matan realmente la actividad?
Adjuntar el código y el msg de registro
package com.example.wf; import android.app.Activity; import android.os.Bundle; import android.util.Log; public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.d("log", "oncreate"); } @Override protected void onResume() { super.onResume(); Log.d("log", "onresume"); }; @Override protected void onStart() { super.onStart(); Log.d("log", "onstart"); }; @Override protected void onPause() { super.onStart(); Log.d("log", "onpause"); }; @Override protected void onDestroy() { Log.d("log", "ondestroy"); super.onDestroy(); }; }
Registro msgs
10-05 23:11:07.994: D/log(23810): oncreate 10-05 23:11:07.994: D/log(23810): onstart 10-05 23:11:07.994: D/log(23810): onresume // LOCK DEVICE 10-05 23:11:19.957: D/log(23810): ondestroy 10-05 23:11:20.007: D/log(23810): oncreate 10-05 23:11:20.007: D/log(23810): onstart 10-05 23:11:20.007: D/log(23810): onresume // UNLOCK DEVICE 10-05 23:11:57.407: D/log(23810): onresume 10-05 23:11:57.537: D/log(23810): ondestroy 10-05 23:11:57.587: D/log(23810): oncreate 10-05 23:11:57.587: D/log(23810): onstart 10-05 23:11:57.587: D/log(23810): onresume
- ¿Dónde deja "Force Stop" una Actividad en su ciclo de vida?
- ¿Es necesario guardar singletons?
- Uso de onResume () para actualizar la actividad
- Ciclo de vida de la actividad de Android
- Ciclo de vida del fragmento - ¿Qué método se llama mostrar / ocultar?
- ¿Cuál es la diferencia exacta entre onAttachedToWindow y onStart
- Actividad creada dos veces
- ¿Presionando Atrás siempre causa Actividad para finalizar ()?
En los teléfonos (o tabletas con la orientación bloqueada), la pantalla de bloqueo sólo es de retrato. Por lo tanto, cuando el dispositivo está bloqueado, el dispositivo cambia automáticamente al modo vertical (causando 6, 7, 8 y 9). Cuando se desbloquea el dispositivo, a continuación, onResume()
se llama como su Activity
está haciendo visible, pero está de nuevo la transición entre retrato y ahora bloqueado en el paisaje, por lo que la actividad se destruye y recreado en el paisaje.
Para superar el escenario de recreación de la actividad, puede manejar los cambios de configuración en el nivel de actividad mediante el archivo de manifiesto android utilizando android: configChanges = atributo "orientation".
- Longitud máxima del nombre de archivo en Android
- Error java.lang.RuntimeException: Stub! En Android con pruebas de Fitnesse