Spanish Desde el background al foreground!

Espinosa4

Active Member
Licensed User
Longtime User
Hola a todos de nuevo (Perdón por tantos posts)

Desde ya hace un tiempo, más menos cuando actualicé el programa a la versión 2.71, aunque no creo que tenga algo que ver, cuando vuelvo del background al foreground la aplicación me carga o me muestra el primer activity.

Por ejemplo:
Abro la aplicación y me sale la pantalla principal. Luego cargo un activity para mostrar una tabla y luego pulsando una celda de la tabla abro otro activity para mostrar una imagen. Al pulsar el botón de home y luego volver mi aparece la primera pantalla, activity principal.

¿Sabéis que me puede estar pasando?

Un saludo y un millón de gracias a todos
Espinosa4
 

socialnetis

Active Member
Licensed User
Longtime User
Hola, lo mas probable es que tu aplicacion sea sacada de ram cuando vayas al home de tu celular, entonces cuando la vuelvas a iniciar, se tendra que iniciar desde 0 desde la activity principal
Si el aparato en el que estas probando tiene 512 de ram, es lo mas probable que sea lo que esta pasando. A mi me pasa esto en mi motorola Defy de 512 de ram, cuando minimizo las aplicaciones duran muy poco en ram si es que abro otras. Mientras que si lo pruebo en una tablet con 1gb de ram, este problema casi que no sucede (solo pasa cuando minimizas tu aplicacion, y abres alguno q otros juegos, q levantan bastante ram).

Si en cambio, estas probando con un dispositivo de 1 o 2 gb de ram, lo mas probable que este no sea el problema. En este caso abria que ver entonces si estas usando algun Activity.Finish o algo que haga cerrar las activity y capaz lo estas pasando por alto
 

Espinosa4

Active Member
Licensed User
Longtime User
Hola socialnetis,

En primer lugar muchísimas gracias por contestar.

En mi caso sería lo segundo creo. Lo he probado en varios dispositivos y hace lo mismo y hace lo mismo. Yo en todos los activities cuando pulsan la tecla back hago un activity finish.

B4X:
Sub Activity_KeyPress (KeyCode As Int) As Boolean 'Return True to consume the event
      If KeyCode = KeyCodes.KEYCODE_BACK Then
        SQLServiciosReducidos.Close
        SQLVariables.Close
        Activity.Finish
      End If
End Sub

El tema es que cuando voy haciendo pruebas de pulsar home y luego volver llega un momento en el que el activity último si que está y eso es lo que me desconcierta ya que no siempre pasa lo mismo.

Es correcto cerrar cada activity con Activity.finish?

Un saludo a todos.
Espinosa4
 

Espinosa4

Active Member
Licensed User
Longtime User
Hola,
He quitado todos los activity.finish y hace lo mismo. Lo único que después de estar yendo de adelante a atrás lo empieza a hacer bien. Parece como si me abriera el programa otra vez porque cuando cierro la aplicación (finish en el main activity) me aparece la aplicación en el activity en el que tantas veces pulsa home.

Alguna idea?
Saludos.

Estoy rehaciendo el código y con activities sencillos también me responde de la misma manera.
 

vampirbcn

Active Member
Licensed User
Longtime User
Espinosa4,

socialnetis, creo que te ha dado la pista buena, Android gestiona automáticamente las aplicaciones finalizadas, por lo que al salir de la app puede eliminarla de la memoria.

Por lo que si quieres asegurarte de volver al activity en el que estabas al cerrarla, deberas guardar en un archivo las variables, la situación etc y recuperar estos datos al volver a abrir la app.

Otra forma de que una aplicación no se pierda es añadiendo un servicio, esto hace que no sea eliminada de la memoria.

Espero que te sirva de algo!!
Saludos
 

Espinosa4

Active Member
Licensed User
Longtime User
Ummmm,
Creía que eliminaba el último activity (ya que entendía que el resto estaba en pausa) y que volvía a crearlo cargándolo todo otra vez (desde el activity create pero con el valor firsttime = false) y ya está.

Entiendo que tengo que guardar por ejemplo... estoy en el activity tal, con los valores tal, etc... y cuando se cargue el activity principal comprobar todo para cargarlo automáticamente.

Creo que es menos trabajo lo del servicio pero bueno hablo un poco desde la ignorancia.

Graciasss a todos!!!!
 
Top