Я собираюсь написать Android
серверный сокет для подключения к Windows
клиенту.
Какой из них лучше между Thread
, Handler
и Async task
?
Я собираюсь написать Android
серверный сокет для подключения к Windows
клиенту.
Какой из них лучше между Thread
, Handler
и Async task
?
Вы можете использовать как Thread
, так и AsyncTask
, просто выберите один из двух в зависимости от ваших потребностей (если вы предоставите более подробную информацию о задаче, которую вам нужно выполнить, я мог бы помочь вам более конкретно).
Класс Handler
не предназначен для запуска асинхронных задач (таких как Thread
и AsyncTask
), экземпляр Handler
используется для обеспечения связи между двумя потоками, например, если вы решите использовать Thread
вместо AsyncTask
, класс Handler
будет помочь вам с обменом данными между вашим UIThread и потоком, который обрабатывает сокет.
Теперь AsyncTask
идеально подходят для работы в качестве Клиента. Если вам нужно открыть сокет сервера, вы должны забыть об этом и попытаться взглянуть на Service
и выбрать между Service
и Thread
.
Почему?
Потому что AsyncTask
предназначены для выполнения определенной работы за относительно короткое время. Чтобы открыть сервер, который должен оставаться открытым (возможно) долгое время, это не тот класс, который вам нужен.
Я бы посмотрел на Service
, потому что он предоставляет несколько полезных методов для взаимодействия с жизненным циклом приложения Android.