Я немного запутался в различиях между Handlers, AsyncTask и Threads в Android. Я прочитал немало блогов и вопросов здесь, в Кару.
Handler являются фоновыми потоками, которые предоставляют вам возможность общаться с пользовательским интерфейсом. Например, обновление индикатора выполнения должно выполняться через Handler. Используя обработчики, вы получаете преимущество MessagingQueues, так что если вы хотите планировать сообщения или обновлять несколько элементов пользовательского интерфейса или выполнять повторяющиеся задачи.
AsyncTask похожи, на самом деле они используют Handler, но не работают в потоке пользовательского интерфейса, так что это хорошо для извлечения данных, например, для извлечения веб-сервисов. Позже вы можете взаимодействовать с пользовательским интерфейсом.
Однако Thread не может взаимодействовать с пользовательским интерфейсом, обеспечивает более "базовую" многопоточность, и вы упускаете все абстракции AsyncTask.
Тем не менее, я хотел бы, чтобы соединение с сокетом работало. Должно ли это быть выполнено в обработчике или потоке, или даже в AsyncTask? Взаимодействие с интерфейсом вообще не нужно. Имеет ли это значение с точки зрения производительности, которую я использую?
Между тем документация была значительно улучшена.
