Domanda

  • Ho un'attività Android che a sua volta avvia un thread.
  • Nella discussione che apre una persistente connessione socket TCP.
  • Quando si connette il socket per i dati del server dinamici vengono scaricati.
  • Il filo invia i messaggi utilizzando Handler classe per l'attività, quando sono stati ricevuti i dati.

Ora, se l'utente capita di passare da verticale a orizzontale l'attività riceve una chiamata OnDestroy. In questo momento chiudo presa e fermare il filo.

Quando Android ha commutato la modalità orizzontale che definisce onCreate ancora una volta e devo fare una presa di ri-connessione. Inoltre, tutti i dati dell'attività esigenze ricevuto da scaricare ancora una volta perché il server non ha la capacità di conoscere ciò che è stato inviato prima, vale a dire non v'è alcuna funzionalità di "riprendere".

Quindi il problema è che c'è un sacco di dati che viene inviato nuovamente tutto il tempo in cui la modalità paesaggio è cambiato.

Quali sono le opzioni qui?

  • Devo creare un servizio che gestisce il traffico verso il server presa così ho sempre avuto tutti i dati che il server ha inviato al servizio.
  • o dovrei modalità orizzontale disabilitare tutti insieme, forse?
  • O sarebbe la mia scommessa migliore è quello di riscrivere il mio server, che è un lavoro molto grande: -)

Tutti gli input è benvenuto: -)

/ Henrik

È stato utile?

Soluzione

In entrambi i evitare che la vostra attività di essere riavviato ( sulla rotazione Android ) o implementare un servizio che l'applicazione gestisce. Il metodo di servizio è molto popolare con le applicazioni che ho visto, e si consente una certa flessibilità quando abbattere la connessione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top