Estamos diseñando una aplicación de Android que tiene varias actividades que funcionan de forma similar a un asistente: el usuario debe pasar de la actividad # 1 a la actividad # 5 para llegar a la actividad final (# 6).¿Cuáles son las mejores prácticas en Android para mantener los datos entre las actividades elimina/reinicia durante toda la sesión de la aplicación?
Como sabemos que una actividad puede terminar repentinamente por el sistema operativo con poca memoria utilizamos la clase de aplicación como almacenamiento estático para mantener los datos que el usuario ingresa en las actividades de "asistente" y otros datos que nuestra aplicación necesita para toda la sesión.
Desafortunadamente, hemos descubierto que este enfoque falla, parece que la instancia de la clase de aplicación también puede ser eliminada por el sistema operativo (esto se descubrió específicamente en Android 1.6 versus 1.5). ¿Nuestras expectativas son erróneas en este enfoque (creemos que la instancia de la clase de aplicación siempre vive para toda la sesión de la aplicación)?
Así que la pregunta es: ¿cuáles son las mejores prácticas en Android para mantener los datos entre las actividades deathes/reinicia para toda la sesión de la aplicación?
Me gusta mucho esta respuesta. Puede ser más limpio implementar esto como una actividad, sin embargo, debe considerar situaciones como el botón Atrás, que no lo llevará a la "pantalla" anterior de forma predeterminada. Sí, solo asuma que su proceso (y, por lo tanto, los objetos del marco dentro de él, como la aplicación) pueden ser eliminados en cualquier momento. Usar un servicio puede ayudar, pero eso simplemente puede retrasar lo inevitable. Estas preguntas frecuentes pueden ser útiles: http://developer.android.com/guide/appendix/faq/framework.html#3 – James