Android: guardar el estado de la aplicación

Quiero guardar el estado de la aplicación para poder restaurarlo después de otro lanzamiento. ¿Es mejor usar el método onSaveInstanceState y guardarlo en Bundle o usar SharedPreferences?

Gracias

Depende de su intención. Usar el onSaveInstanceState() es sólo una solución razonable si desea asegurarse de guardar el estado durante cambios de configuraciones y otros eventos de reinicio. En caso de que apuntes a un verdadero ahorro del estado de la aplicación más allá del ciclo de vida de la aplicación, deberías considerar el uso de SharedPreferences o incluso emplear una base de datos.

Puedo no tener las mismas chuletas de desarrollo que algunos de los otros carteles aquí (he estado desarrollando seriamente aplicaciones desde julio de 2012), pero he encontrado una solución que integra SharedPreferences, así como el onSaveInstanceState ().

Mi aplicación tiene una actividad de pantalla de bienvenida que lee valores de SharedPreferences y los asigna a las variables apropiadas. Además, cada Actividad que realizo tiene su propio método onSaveInstanceState (), y confiero todos los datos que necesito guardar en SharedPreferences allí, en cada actividad. Dado que onSaveInstanceState () se ejecuta antes de que una Aplicación o Actividad se cierre normalmente, debe hacer copias de seguridad de valores de datos en todas las circunstancias normales.

Puede que no sea la solución más eficiente en cuanto a códigos, especialmente en aplicaciones más grandes con muchas actividades, pero en lo que respecta a mis pruebas, protege la aplicación de la pérdida de datos del 99% del tiempo.

Si un desarrollador más experimentado quisiera sonar y confirmar o negar esto, estoy seguro de que enriquecerá la pregunta y la respuesta.

Estoy seguro de que onSaveInstanceState () es la mejor opción.

Aquí ya se le da una mejor explicación: Guardar el estado de la actividad de Android mediante Guardar el estado de la instancia

  • Android SharedPreferences después de reiniciar el dispositivo
  • Cifrar datos en SharedPreferences
  • SharedPreferences lee valores antiguos
  • Samsung y Android 2.2.1 compartido pref cuestión
  • Escribir la clave pública / privada en SharedPreferences y usarla
  • Seguridad con SharedPreferences
  • ¿Preferencias compartidas? Javax.crypto.BadPaddingException: bloque de pad corrompido sólo en algunos dispositivos
  • Cómo utilizar SharedPreferences en Android para almacenar, buscar y editar valores
  • Sharedpreference byte valor eliminado después de que la aplicación se haya eliminado mediante 'Force Stop' o el administrador de tareas
  • Predeterminado Preferencias compartidas me dan valores incorrectos en Service
  • Android SharedPreferences en Fragmento
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.