2017-02-06 26 views
0

Я хочу поддерживать соединение с сервером по Socket. Какой из них лучше для этого случая? Сервис или IntentService? Зачем?Сервис или IntentService Какой метод лучше поддерживать в сеансе с сервером в android

+0

Используйте 'Сервис' для поддержания соединения. – W4R10CK

+0

да необходимо использовать сервис – Saveen

ответ

2

Вы должны использовать Сервис, потому что он останется в живых, пока вы его не остановите. IntentService с другой стороны останавливается, когда заканчивается работа.

0

IntentService является специальным Service, который завершает свою задачу.

Service - это компонент, который может работать неограниченно, хотя компонент, который запускает его, уничтожается.

Так что если вы хотите что-то запустить навсегда, а также хотите общаться с другими видами деятельности, вам следует пойти с Service.

Но учтите следующее также:

  1. Service работает в том же потоке, как в основной поток, но работает в фоновом режиме, так тяжелой работы в службе может повлиять на производительность приложения. IntentService работает в рабочей ветке отдельно от главной темы.

  2. С Service его ответственность за запуск и остановку еще не завершена. IntentService останавливается на выполнении задачи.

  3. Обычно IntentService используется для длительной работы, тогда как Service для выполнения не слишком длинных задач.

  4. Вы можете связать Service с деятельностью, если вам нужно связаться с Управлением. IntentService может использоваться для задач без связи с главной нитью. Если требуется связь, можно использовать обработчик Main Thread или трансляцию. Другой случай использования - когда требуются обратные вызовы (запущенные задачи Intent).

  5. IntentService не может выполнять задачи параллельно. Следовательно, все последовательные намерения войдут в очередь сообщений для рабочего потока и будут выполняться последовательно.

Так что, если вы делаете тяжелую работу в фоновом режиме, и вам не нужно общаться с основной поток затем вы идете с IntentService или же результат должен быть передан на главную тему и фоновая задача не слишком тяжелым, то вы можете перейдите с Service.