Обработчик против AsyncTask против потока



Я немного запутался в различиях между Handlers,AsyncTask и Threads в Android. Я прочитал довольно много блогов и вопросов здесь, в stackoverflow.



Handler фоновые потоки, которые дают вам возможность общаться с UI. Обновление progressbar, например, должно быть сделано через Handler. Используя обработчики у вас есть преимущество MessagingQueues, так что если вы хотите запланировать сообщения или обновить несколько элементов пользовательского интерфейса или повторить задачи.



AsyncTask похожи, на самом деле они используют Handler, но не запускается в потоке пользовательского интерфейса, поэтому он хорош для извлечения данных, например, для извлечения веб-служб. Позже вы можете взаимодействовать с пользовательским интерфейсом.



Thread однако не может взаимодействовать с пользовательским интерфейсом, обеспечить более "основные" потоки, и вы пропустите все абстракции AsyncTask.



однако я хотел бы, чтобы соединение сокета выполнялось в службе. Должно ли это выполняться в обработчике или потоке, или даже AsyncTask? Взаимодействие с пользовательским интерфейсом не требуется вообще. Имеет ли это значение с точки зрения производительности, которую я использую?



на документация был значительно улучшен.
808   0  

Comments

    Ничего не найдено.