studio solucion sola que programacion porque por lamentablemente funcionar detuvo detiene dejo cierra app aplicacion android caching memory crash

android - solucion - La aplicación se bloquea cuando la aplicación se reanuda durante mucho tiempo



por que se detiene mi aplicacion de android studio (3)

Estoy creando una aplicación de Android. Tiene un proceso de descarga desde el servidor. Funciona bien hasta que la aplicación se ejecuta y mantiene los datos sin ningún bloqueo, pero ahora estoy atrapado con el problema como se describe a continuación

Cuando la aplicación se minimiza presionando el botón de inicio y después de un largo tiempo, cuando abro la aplicación, todos los datos de la aplicación se eliminan. Me da una "Excepción de puntero nulo"; incluso el valor de ArrayList se elimina y da una lista de arrays de 0 tamaños.

Estoy abriendo la aplicación después de maximizar desde la pantalla de inicio a través de OnResume solamente, pero no se llamó a sí mismo.

No sé por qué ocurre este problema. ¿Puede alguien por favor sugerirme una solución y señalarme qué estoy haciendo mal?


Supongo que el recolector de basura descarta tus datos mientras tu aplicación está en segundo plano. intente guardar sus datos en la base de datos SQLite incorporada, o en el paquete savedInstanceState en el método de ciclo de vida onSaveInstanceState () y cárguelo en el método onRestoreInstanceState ().


Sí, es cierto, como dijo @paradx, que el recolector de basura descarta los datos mientras la aplicación está en segundo plano. Finalmente encontré una solución basada en @paradx sugerencia, ya que los datos se almacenan en SQLite o savedInstanceState

Solo pase algunos de los valores estáticos a través del

intent.putExtra("static key","static value");

Luego, el hashmap estático se escribe en un archivo y se recupera para su uso posterior. Ahora la aplicación no falla para este problema.

He publicado esta solución para que alguien pueda usarla.


¿Utilizaste el cliente Apache HTTP o la UrlConnection?

Ver Apache http client o URLConnection

Tal vez el uso incorrecto podría conducir a un NPE como ese. ¿Podría también publicar su salida logCat?