Android: Manejo eficiente de la rotación de la pantalla

En Android, cuando se cambia la orientación de la pantalla (entre paisaje y retrato) se onCreate método onCreate que, si no se maneja correctamente, recreará toda la actividad cuando el resultado cambie demasiado simplemente el diseño y retenga toda la misma información.

Sé de algunas maneras de resolver esto, pero estoy interesado en la manera más eficiente.

1) Diciendo al manifiesto que onConfigurationChanged() el cambio de orientación reemplazando el método onConfigurationChanged() y dejándolo vacío.

2) anule onSaveInstanceState() y guarde los datos aquí para ser repoblados en onCreate()

3) Override onPause() que creará un paquete de datos y lo enviará a onSaveInstanceState()

Obviamente, estas son todas opciones, pero cuál es una mejor práctica (pequeñas, medianas, grandes cantidades de datos)

Gracias

Algunas configuraciones de dispositivos pueden cambiar durante el tiempo de ejecución (como la orientación de la pantalla, la disponibilidad del teclado y el idioma). Cuando se produce este cambio, Android reinicia la actividad en ejecución ( onDestroy() se llama, seguido de onCreate() ).

  • Para manejar adecuadamente un reinicio, es importante que su actividad restaure su estado anterior a través del ciclo de vida normal de la actividad, en el que Android llama onSaveInstanceState() antes de que destruya su actividad para que pueda guardar datos sobre el estado de la aplicación. A continuación, puede restaurar el estado durante onCreate() o onRestoreInstanceState() .

Sin embargo, es posible que encuentre una situación en la que reiniciar su aplicación y restaurar cantidades significativas de datos puede ser costoso y crear una experiencia de usuario pobre. En tal situación, usted tiene otras dos opciones:

  1. Conservar un objeto durante un cambio de configuración

    Permita que su actividad se reinicie cuando cambie una configuración, pero lleve un Objeto con estado a la nueva instancia de su actividad.

  2. Maneje el cambio de configuración usted mismo

    Evite que el sistema reinicie su actividad durante ciertos cambios de configuración, pero reciba una devolución de llamada cuando las configuraciones cambien, de modo que pueda actualizar manualmente su actividad según sea necesario.

Por lo tanto, según su operación de datos y la costa de la experiencia del usuario con la aplicación puede elegir lo que es mejor para usted ..

EDIT: Según su necesidad de sólo cambiar el diseño creo que tiene que usar onConfigurationChanged() y hacer los cambios en ella.

  • Obtener rotación y mostrar en grados
  • Android visualiza la transformación de rotación 3D en pantallas de gran resolución
  • Rotate jpeg utilizando ExifInterface no funciona a veces
  • Cómo girar una vista en Android
  • Cómo evitar reiniciar la actividad cuando cambia la orientación en Android
  • Rotar una imagen varias veces pero mantener las esquinas alineadas
  • Android rotar mapa de bits sin hacer una copia
  • Sprite Rotación en Android con Canvas.DrawBitmap. Estoy cerca, ¿qué estoy haciendo mal?
  • Cómo rotar un mapa de bits en Android acerca de imágenes de forma suave sin movimiento oscilatorio
  • Cómo controla la orientación de la pantalla del dispositivo Android
  • Rotar marcador / icono de coche en google maps - Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.