Cómo guardar los datos de la aplicación de Android en la salida de la aplicación

Parece que hay una gran cantidad de información sobre el estado de la actividad de ahorro, pero no he podido localizar mucho en encontrar el estado de la aplicación .

Estoy buscando algunas ideas de diseño para resolver un problema que he encontrado. Estoy desarrollando un juego que tiene un modelo de datos bastante grande (1-2 MBytes). Este modelo existe fuera de cualquier actividad, de hecho hay numerosas actividades que interactúan con ella. Estas actividades son transitorias, yendo y viniendo todo el tiempo.

Actualmente mantengo un puntero al modelo de datos en mi aplicación y todas las actividades acceden al modelo de datos a través de él. Necesito guardar ese modelo de datos en el caso de que mi aplicación se está matando, pero es demasiado lento para guardarlo cada vez que una actividad golpea en la pausa, que ocurre con mucha frecuencia a medida que las actividades van y vienen.

Lo que necesito es una forma de determinar que mi aplicación (y junto con ella mi modelo de datos) están siendo destruidas. He buscado extensivamente este método o devolución de llamada y he venido vacío.

Apreciaria cualquier sugerencia.

No he podido encontrar mucho en encontrar el estado de la aplicación.

Eso es porque no hay "estado de la aplicación" en Android, más de lo que hay en una aplicación web.

Pero es demasiado lento para guardarlo cada vez que una actividad golpea enPause

Mientras que su modelo de datos completo puede ser "1-2 MBytes", pero la cantidad de datos que cambia va a ser un pequeño subconjunto de eso, para cualquier cambio dado. Utilice un subproceso de fondo y sólo modifique los datos que han cambiado.

Que sucede muy a menudo como las actividades vienen y van

Suena como quizás tienes demasiadas actividades.

Lo que necesito es una forma de determinar que mi aplicación (y junto con ella mi modelo de datos) están siendo destruidas

Eso no es posible. Nunca descubrirás que estás siendo destruido. Android puede y terminará su proceso sin previo aviso, ya sea a petición del usuario (por ejemplo, Fuerza cerrada, asesino de tareas) o por razones de sistema operativo (por ejemplo, necesita la memoria RAM para manejar una llamada telefónica entrante).

Usted es bienvenido a usar onUserLeaveHint() , que se llama en un número de casos cuando toda la aplicación pierde el primer plano, pero ciertamente no contar con que para algo tan importante como la persistencia de un modelo de datos.

  • Uso de Ormlite en combinación con el proveedor de contenido de Android
  • ORMLite en Android usando anotaciones javax.persistence
  • ¿Qué sucede con el subproceso como onDestroy se llama cuando se gira el dispositivo
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.