Я хочу поддерживать соединение с сервером по Socket. Какой из них лучше для этого случая? Сервис или IntentService? Зачем?Сервис или IntentService Какой метод лучше поддерживать в сеансе с сервером в android
ответ
Вы должны использовать Сервис, потому что он останется в живых, пока вы его не остановите. IntentService с другой стороны останавливается, когда заканчивается работа.
IntentService
является специальным Service
, который завершает свою задачу.
Service
- это компонент, который может работать неограниченно, хотя компонент, который запускает его, уничтожается.
Так что если вы хотите что-то запустить навсегда, а также хотите общаться с другими видами деятельности, вам следует пойти с Service
.
Но учтите следующее также:
Service
работает в том же потоке, как в основной поток, но работает в фоновом режиме, так тяжелой работы в службе может повлиять на производительность приложения.IntentService
работает в рабочей ветке отдельно от главной темы.С
Service
его ответственность за запуск и остановку еще не завершена.IntentService
останавливается на выполнении задачи.Обычно
IntentService
используется для длительной работы, тогда какService
для выполнения не слишком длинных задач.Вы можете связать
Service
с деятельностью, если вам нужно связаться с Управлением.IntentService
может использоваться для задач без связи с главной нитью. Если требуется связь, можно использовать обработчик Main Thread или трансляцию. Другой случай использования - когда требуются обратные вызовы (запущенные задачи Intent).IntentService
не может выполнять задачи параллельно. Следовательно, все последовательные намерения войдут в очередь сообщений для рабочего потока и будут выполняться последовательно.
Так что, если вы делаете тяжелую работу в фоновом режиме, и вам не нужно общаться с основной поток затем вы идете с IntentService
или же результат должен быть передан на главную тему и фоновая задача не слишком тяжелым, то вы можете перейдите с Service
.
Используйте 'Сервис' для поддержания соединения. – W4R10CK
да необходимо использовать сервис – Saveen