Pregunta

  • Tengo una actividad Android que a su vez inicia un hilo.
  • En el hilo que abrir una conexión de socket TCP persistente.
  • Cuando se conecta el socket al servidor de datos dinámicos se descarga.
  • El hilo envía mensajes utilizando Handler de clase a la actividad cuando se han recibido datos.

Ahora bien, si el usuario pasa a cambio de vertical a horizontal la actividad recibe una llamada OnDestroy. En este momento de cerrar el socket y detener el hilo.

Cuando Android se ha cambiado el modo de paisaje que llama onCreate una vez más y tengo que hacer una toma de re-conexión. Además, todos los datos de la actividad recibió necesita ser descargado una vez más debido a que el servidor no tiene la capacidad de saber lo que se ha enviado antes, es decir, no hay ninguna característica "hoja de vida".

Así, el problema es que hay una gran cantidad de datos que se vuelve a enviar todo el tiempo cuando se cambia el modo de paisaje.

¿Cuáles son mis opciones aquí?

  • ¿Debo crear un servicio que se encarga de la toma de tráfico hacia el servidor por lo tanto siempre me dieron todos los datos que el servidor ha enviado en el servicio.
  • ¿O debería desactivar el modo horizontal todos juntos, tal vez?
  • ¿O sería mi mejor apuesta será volver a escribir mi servidor que es un trabajo muy grande: -)

Toda la entrada es bienvenido: -)

/ Henrik

¿Fue útil?

Solución

Cualquiera de evitar que su actividad sea reiniciado ( en la rotación Android ) o implementar un servicio que gestiona su aplicación. El método de servicio es muy popular entre las aplicaciones que he visto, y que permite una cierta flexibilidad a la hora derribando la conexión.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top