verizon usa unidos telcel samsung patron liberar gratis estados desbloqueo desbloquear con como celular android android-activity locking lifecycle unlock

usa - Ciclo de vida de la actividad de Android y bloqueo/desbloqueo del dispositivo



sprint unlock free (2)

Acabo de descubrir que cuando el dispositivo tiene la pantalla de bloqueo habilitada, sucede lo siguiente. Para esta actividad, android: screenOrientation = "landscape" se establece en el manifiesto. Luego hago lo siguiente con mi teléfono en modo retrato.

  1. El usuario abre una actividad.
  2. onCreated () se llama
  3. se llama a onStart ()
  4. onResume () se llama
  5. El usuario BLOQUEA el dispositivo 4.5 onPause se llama ()
  6. onDestroy () se llama
  7. se llama a onCreate ()
  8. se llama a onStart ()
  9. onResume () se llama 8.5 onPause se llama ()
  10. El usuario DESBLOQUEA el dispositivo
  11. onResume () se llama
  12. onDestroy () se llama
  13. se llama a onCreate ()
  14. se llama a onStart ()
  15. onResume () se llama.

De acuerdo, no entiendo por qué 6,7,8 se ejecutan después de que se apaga la pantalla ... Tampoco entiendo por qué se ejecutan 11, 12, 13, 14. ¿Suceden cosas raras cuando bloqueo y desbloqueo el dispositivo? De repente, estoy confundido con el ciclo de vida de la actividad ... ¿Alguien puede aclarar esto?

Adjunte el código y el mensaje 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(); }; }

Registrar mensajes

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


En teléfonos (o tabletas con el retrato bloqueado de orientación), la pantalla de bloqueo solo 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 el dispositivo está desbloqueado, se onResume() medida que su Activity se hace visible, pero usted está haciendo la transición entre portrait y now locked en landscape, por lo que la actividad se destruye y se recrea en el paisaje.


Para superar el escenario de recreación de actividad, puede manejar los cambios de configuración a nivel de actividad mediante el archivo de manifiesto de Android utilizando el atributo android: configChanges = "orientation".