Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Desarrollo en Delphi para Android
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos


Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-07-2017
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Entonces, para resumir:
Cita:
Empezado por jhonalone Ver Mensaje
Si seleccionas cualquier aplicación que no haya sido generada con Delphi, la retomas donde la dejaste.
Pero si eliges una que ha sido generada por Delphi... ¡¡SORPRESA!! La aplicación se reinicia y arranca desde el principio, como si la hubieras llamado pulsando su icono.
Es que eso no tiene nada que ver con delphi, eso es la forma de funcionamiento normal de todos los programas android.
Cuando "duermes" un programa y lo vuelves a "despertar" (lo que tú llamas "reiniciar") vuelve a empezar de nuevo, se pierden todos los valores en las variables, etc.
Y es exactamente el mismo comportamiento cuando giras la pantalla.

Ahora bien, todo eso es controlable, tú puedes saber si es la primera vez que inicia el programa o si es que está "despertando" tras haber "dormido" (o se ha girado la pantalla) y depende de ti controlarlo guardando los datos que necesites y volviendo a restaurarlos.

No sé cómo es el mecanismo ese en delphi porque para android utilizo otra cosa (no existía delphi para android cuando empecé a programar android), pero seguro que debe poderse hacer lo que necesitas, debe ser algo básico, aunque parezca complicado, como todo lo que no se conoce.

No puedo ayudar mucho en eso porque no tengo ningún delphi moderno, pero intentaré ayudarte en lo que pueda.
Responder Con Cita
  #2  
Antiguo 25-07-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Gracias por el interés que te estás tomando Casimiro.

Estoy convencido de que no es un problema sólo de Delphi. He comprobado que otros programas tienen el mismo comportamiento y no son de Delphi.

Al girar la pantalla no ocurre el mismo problema, al menos otros programas que he comprobado, aún siendo desarrollados en Delphi. Ni se resetean ni pierden la información de la pantalla.

Buenas noches. Mañana seguiremos.

Un saludo.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #3  
Antiguo 27-07-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Hola a todos.

Sigo trabajando en el asunto.
Ayer minimizé algunas aplicaciones (entre ellas la mía) y para mi sorpresa esta mañana al reactivarlas mantenían sus misma pantalla y posición, es decir: no se reiniciaban (reseteaban).

No me preguntéis porqué... el dispositivo siegue siendo el mismo y yo no he cambiado ningún ajuste.

Estoy probando esta mañana y... unas veces se reinician las App's y... otras no. A ver si consigo averiguar el comportamiento (a primera vista errático) del "lifecycle" de las App's en Android.

Estoy haciendo pruebas con un controlador de eventos que me sugirió TOPX en otro hilo. Pero creo que aunque controlemos el evento, lo más difícil será restituir los valores que tienen en ése momento todas las variables globales de la App y restituir la pantalla en la que se encontraba cuando perdió el foco. Sin olvidarnos de las comprobaciones que hace el programa al ejecutarse la primera vez...

Sigo pensando, que "matar" las App's arbitrariamente, es una solución irrespetuosa con el usuario por parte de Android. No quiero decir con esto que no haya que controlar la memoria y el espacio del dispositivo por seguridad de uso. Pero estaréis conmigo en que, llegado a un límite de recursos, sería mucho mas elegante y respetuso avisar al usuario y dejarle elegir cuál o cuáles App's desea cerrar. Digo yo. De hecho, el sistema ya te avisa cuando te queda poca batería.

Imagínate que estás en un editor de texto y tienes una parte escrita y necesitas ponerlo en "segundo plano" para hacer una llamada. Como otras veces ya lo habías dejado en segundo plano y lo has recuperado intacto, vuelves a hacer lo mismo, sin guardarlo. Pero en ése momento Android decide "matar" la aplicación del editor. Cuando intentas recuperarlo, ves que se reinicia el editor, vuelve a su posición de cuando le ejecutas por primera vez, y has perdido el trabajo. Si, claro, aprendes a no volver a minimizarlo sin salvar. Pero te acuerdas del padre de Android (si tiene) y el mal ya está hecho.

Creo que todos sabéis, por experiencia que, los errores (problemas) que aparecen al desarrollar un programa y que ocurren unas veces sí y otras no, son los peores de resolver.

Si consigo descubrir o solucionar algo, o si se me ocurre otra cosa os tendré al corriente.

Perdonar mi pesadez, pero creo que el tema tiene bastante importancia (o...¿quizá sólo es importante para mi?...)

Bueno. Saludos a todos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #4  
Antiguo 27-07-2017
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por jhonalone Ver Mensaje
Imagínate que estás en un editor de texto y tienes una parte escrita y necesitas ponerlo en "segundo plano" para hacer una llamada. Como otras veces ya lo habías dejado en segundo plano y lo has recuperado intacto, vuelves a hacer lo mismo, sin guardarlo. Pero en ése momento Android decide "matar" la aplicación del editor. Cuando intentas recuperarlo, ves que se reinicia el editor, vuelve a su posición de cuando le ejecutas por primera vez, y has perdido el trabajo. Si, claro, aprendes a no volver a minimizarlo sin salvar. Pero te acuerdas del padre de Android (si tiene) y el mal ya está hecho.
Creo que todos sabéis, por experiencia que, los errores (problemas) que aparecen al desarrollar un programa y que ocurren unas veces sí y otras no, son los peores de resolver.
Si consigo descubrir o solucionar algo, o si se me ocurre otra cosa os tendré al corriente.
Perdonar mi pesadez, pero creo que el tema tiene bastante importancia (o...¿quizá sólo es importante para mi?...)
Bueno. Saludos a todos.
De toda la vida, con todos los sistemas, si no guardas lo que estás haciendo, te arriesgas a perderlo. No es nada nuevo ni "problema" exclusivo con android.
Cita:
Empezado por jhonalone Ver Mensaje
Perdonar mi pesadez, pero creo que el tema tiene bastante importancia (o...¿quizá sólo es importante para mi?...)
Creo, es mi opinión, que le estás dando demasiado importancia, a fin de cuentas es un teléfono con muuuuuchos añadidos, pero es un teléfono.
Puedes plantearte el problema de otra forma, por ejemplo, estás dando de alta un cliente y necesitas hacer una llamada, entonces cuando vas a salir (segundo plano, aparcar, dormir, llámalo como quieras) guardas los datos que se puedan perder y nada más, luego cuando inicias el programa de nuevo no habrás perdido nada, salvo que no estarás exactamente en la pantalla que estabas. No es nada trágico. Al menos, yo lo veo así.
Responder Con Cita
  #5  
Antiguo 27-07-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Cita:
Empezado por Casimiro Notevi Ver Mensaje
Puedes plantearte el problema de otra forma, por ejemplo, estás dando de alta un cliente y necesitas hacer una llamada, entonces cuando vas a salir (segundo plano, aparcar, dormir, llámalo como quieras) guardas los datos que se puedan perder y nada más, luego cuando inicias el programa de nuevo no habrás perdido nada, salvo que no estarás exactamente en la pantalla que estabas. No es nada trágico. Al menos, yo lo veo así.
Bueno... visto así... tengo que darte la razón.

Pero no es una bonita imagen para un usuario.

Un saludo.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #6  
Antiguo 28-07-2017
jhonalone jhonalone is offline
Miembro
 
Registrado: sep 2007
Ubicación: Madrid
Posts: 571
Poder: 19
jhonalone Va por buen camino
Hola a todos.

Investigando un poco, he visto que hay bastante gente molesta por este asunto, que yo pensaba que sería una obsesión mía. Podéis verlo aquí.

Saludos a todos.
__________________
"Pedid y se os dará; buscad y hallaréis ..." (Lc 11,9-10)
"...si no tengo caridad, nada soy..." (1 Cor 13,1-13)
Responder Con Cita
  #7  
Antiguo 28-07-2017
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.671
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Bueno, es una persona y no hay nada concluyente, algunos le aconsejan algunas cosas distintas, no hay nada que aclare realmente nada.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Dejar una aplicación siempre en primer plano Kalikatres Desarrollo en Delphi para Android 19 28-11-2015 16:48:47
Buscar Aplicacion en Ejecucion y traerla al frente Enan0 Varios 0 29-09-2012 13:52:25
Aplicación en primer plano jordillussa Varios 4 20-03-2007 19:58:43
Ejecutar aplicacion externa y que este en primer plano Lorenzati API de Windows 11 06-07-2004 18:22:10
Aplicación siempre en primer plano Novás Varios 2 08-03-2004 09:31:09


La franja horaria es GMT +2. Ahora son las 23:26:06.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi