Android Socket в том же процессе или отдельно - PullRequest
0 голосов
/ 13 августа 2011

Я создаю приложение для Android, которое использует TCP-сокет для подключения к серверу. Он непрерывно получает строки XML из этого сокета, и мне нужно проанализировать его, как он приходит. В настоящее время я реализовал сокет в сервисе в том же процессе приложения.

Иногда я получаю исключение из памяти. Строки xml, которые я получу, будут около 1-3mb. Мой вопрос: будет ли эффективнее запускать мой сервис в отдельном процессе, так как мой сокет постоянно должен работать? Каков наилучший способ реализовать сокет в Android, который работает на протяжении всего жизненного цикла приложения?

1 Ответ

0 голосов
/ 13 августа 2011

Вы должны определенно положить свой сокет в поток.Если это не тот случай, вы рискуете заморозить все приложение, например, по тайм-ауту сети.

Существует несколько различных способов создания потока в Android.Мой фаворит - создать класс, расширяющий Thread.

взгляните на безболезненную многопоточность в android doc и более общую статью Processes and Threading

...