- J'ai une activité Android qui à son tour commence un fil.
- Dans le thread, j'ouvre une connexion socket TCP persistante.
- Lorsque le socket se connecte au serveur, les données dynamiques sont téléchargées.
- L'unité d'exécution envoie des messages en utilisant Handler-class à l'activité lorsque des données ont été reçues. Désormais, si l'utilisateur passe du mode portrait au mode paysage, l'activité reçoit un appel onDestroy. À ce moment je ferme la douille et arrête le fil.
Comment gérer le cycle de vie de l'activité impliquant des sockets dans Android?
Lorsque Android a basculé en mode paysage, il appelle à nouveau la fonction Créer et je dois effectuer une nouvelle connexion. En outre, toutes les données que l'activité reçue doit être téléchargées une fois de plus parce que le serveur n'a pas la capacité de savoir ce qui a été envoyé auparavant, c'est-à-dire qu'il n'y a pas de fonction de "reprise".
Ainsi, le problème est qu'il y a beaucoup de données qui sont renvoyées tout le temps lorsque le mode paysage est changé.
Quelles sont mes options ici? Si je crée un service qui gère le trafic des sockets vers le serveur, j'ai toujours reçu toutes les données que le serveur a envoyées dans le service.
- Ou devrais-je désactiver le mode paysage tous ensemble peut-être?
- Ou serait mon meilleur pari de réécrire mon serveur qui est un très gros travail :-)
Toutes les entrées sont :-) Bienvenue
/Henrik
Dans votre cas, la meilleure option est de dire à Android de ne pas détruire votre activité à chaque rotation d'écran. Décrit là: http://stackoverflow.com/questions/456211/activity-restart-on-rotation-android –