- У меня есть активность Android, которая, в свою очередь, запускает поток.
- В теме я открываю постоянное сокетное соединение TCP.
- Когда сокет подключается к серверу, загружаются динамические данные.
- Поток отправляет сообщения, используя класс-обработчик, в действие, когда данные получены.
Теперь, если пользователь переключается из портретного в ландшафтный режим, действие получает вызов onDestroy. В этот момент я закрываю сокет и останавливаю нить.
Когда Android переключил альбомный режим, он снова вызывает onCreate, и мне нужно заново подключить сокет. Кроме того, все данные, полученные в результате действия, необходимо загрузить еще раз, поскольку сервер не имеет возможности узнать, что было отправлено ранее, т.е. отсутствует функция «возобновления».
Таким образом, проблема заключается в том, что существует много данных, которые повторно отправляются все время, когда изменяется ландшафтный режим.
Какие у меня варианты здесь?
- Должен ли я создать службу, которая обрабатывает трафик сокетов к серверу, таким образом, я всегда получаю все данные, которые сервер отправил в службу.
- Или я должен отключить ландшафтный режим все вместе, возможно?
- Или лучше всего переписать мой сервер, который ОЧЕНЬ БОЛЬШОЙ: -)
Все входные данные приветствуются: -)
/ Хенрик