Это самый простой ответ на ваш вопрос
Тема
- это единица выполнения, которая работает "параллельно" с Основным потоком - важный момент, выне может обновить компонент пользовательского интерфейса из любого потока, кроме основного потока.
AsyncTask
- это специальный поток, который предоставляет вспомогательные методы для обновления пользовательского интерфейса , поэтому вы можете обновить пользовательский интерфейс, даже если AsyncTask будет работать в фоновом потоке.Обработка межпроцессного взаимодействия не требуется делать явно.
Служба
решает вышеуказанную проблему, поскольку она работает отдельно от вызывающего ее действия, поэтому она может продолжать работать даже после уничтожения действия, она запускается в главном потоке (будьте осторожныANR) использовать фоновый сервис (расширьте IntentService, он автоматически создаст для вас рабочий поток) . Служба похожа на деятельность без пользовательского интерфейса , подходит для длительных задач