Как использовать многопоточность при вызове метода службы с использованием связывателей - PullRequest
2 голосов
/ 25 марта 2012

У меня есть служба, и я взаимодействую с ней с помощью операции «Binding».

Теперь некоторые из этих методов, которые я вызывал для вызова с использованием привязки, могут занять некоторое время (тяжеловес).

Как запустить это в отдельном потоке?

Должен ли я использовать многопоточность в «Activity» или в «Service»?

Ответы [ 2 ]

2 голосов
/ 25 марта 2012

Как запустить это в отдельном потоке?

Разветвлением нити или AsyncTask и т. Д.

Должен ли я использовать многопоточность в «Activity» или в «Service»?

Это зависит от вас и на него нельзя ответить абстрактно.

1 голос
/ 25 марта 2012

В общем, если ваша задача все равно должна быть выполнена (даже если активность остановлена) или если вам нужен поток, который будет прослушивать обновления сервера, используйте Service.Иначе, используйте Activity.

Теперь вы можете выполнять свою задачу в фоновом режиме, используя эти способы (в Activity или Service - это не имеет значения):

1) Лучший способ - это AsyncTask .

2) Другой способ - запустить поток:

public void someServiceMethod(){
    new Thread(new Runnable(){
            public void run(){
                //do your stuff
            }
        }
    ).start();
}

И прочитать это: http://developer.android.com/guide/topics/fundamentals/services.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...