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
- ¿Cómo puedo compartir un archivo SharedPreferences a través de dos aplicaciones de Android diferentes?
- Android - sharedferences devuelve valor nulo
- Cómo hacer que la aplicación vaya a otra página si no se ejecuta por primera vez
- SharedPreference Cambios no reflejados en mi servicio de fondo de pantalla
- Android SharedPreferences, cómo guardar una variable int simple
- Cant valor de acceso de SharedPreference en diferentes subprocesos
- Leer la preferencia compartida cuando se cambia el contexto
- Escritura de clase Singleton para administrar las compartidas SharedPreferences de Android
- Cómo almacenar un valor booleano con SharedPreferences en Android?
- Guardar SharedPreferences archivos en directorio personalizado o obtener predeterminado SharedPreferences dir
- Android SharedPreferences Conjunto de cadenas: algunos elementos se quitan después de reiniciar la aplicación
- Cuál es la mejor manera de usar las preferencias compartidas entre las actividades
- Android: haz algo en actividad cuando cambian las preferencias
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
- ¿Cómo puedo actualizar la trayectoria del álbum usando ContentResolver?
- Buscar sólo 20 filas del servidor con setOnScrollListener