Quiero guardar el estado de la aplicación para poder restaurarla después de otro lanzamiento. ¿Es mejor usar el método en SaveInstanceState y guardarlo en Bundle o usar SharedPreferences?Android - estado de la aplicación de guardado
Gracias
Quiero guardar el estado de la aplicación para poder restaurarla después de otro lanzamiento. ¿Es mejor usar el método en SaveInstanceState y guardarlo en Bundle o usar SharedPreferences?Android - estado de la aplicación de guardado
Gracias
Depende de su intención. Usar el onSaveInstanceState()
es solo una solución razonable si desea asegurarse de guardar el estado durante los cambios de configuraciones y otros eventos de reinicio. En el caso de que aspire a un verdadero ahorro del estado de la aplicación más allá del ciclo de vida de la aplicación, debería considerar usar las Preferencias Compartidas o incluso emplear una base de datos.
Estoy seguro de que onSaveInstanceState() es la mejor opción.
Aquí ya se da una explicación mejor: Saving Android Activity state using Save Instance State
Puede que no tenga las mismas chuletas de desarrollo como algunos de los otros críticos aquí (he estado desarrollando aplicaciones serio desde julio de 2012), pero no tengo encontró una solución que integra SharedPreferences así como 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 comprometo todos los datos que necesito guardar en SharedPreferences, en todas y cada una de las actividades. Dado que onSaveInstanceState() se ejecuta antes de que una aplicación o actividad se cierre normalmente, debe hacer una copia de seguridad de los 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 su aplicación contra pérdida de datos el 99% del tiempo.
Si un desarrollador con más experiencia quiere avisar y confirmar o negar esto, estoy seguro de que enriquecerá la pregunta y la respuesta.
Sé que esto es antiguo, pero para lectores futuros: 'onSaveInstanceState' no se ejecuta antes de que una aplicación o actividad se cierre normalmente. Se ejecuta antes de que la aplicación o la actividad se cierre por el sistema (por ejemplo, cambios de orientación, poca memoria, ir al fondo). Un caso importante cuando no se llama es cuando un usuario sale de la actividad presionando el botón Atrás – bcorso
Sí, necesito poder restaurar el estado de la aplicación, después de que se reinicie. Así que onSaveInstanceState() sería la mejor solución – Waypoint
Si el sistema cierra la aplicación en realidad, se perderá el estado de la instancia guardada. Lo mismo ocurre con apagar el dispositivo en sí. Si también desea conservar el estado en esos casos, 'onSaveInstanceState()' no será suficiente. –
Ah, gracias, así que SharedPreferences es el objetivo – Waypoint