我对Android中Handlers
, AsyncTask
和Threads
之间的差异感到有点困惑。我在StackOverflow上读过不少博客和问题。
Handler
是后台线程,为您提供与UI通信。例如,更新进度条应该通过Handler
来完成。使用处理器,你有MessagingQueues
的优势,所以如果你想安排消息或更新多个UI元素或有重复的任务。
AsyncTask
是类似的,事实上,他们使用Handler
,但不运行在UI线程,所以它很适合获取数据,例如获取web服务。稍后您可以与UI交互。
然而,Thread
不能与UI交互,提供更“基本”的线程,你错过了AsyncTask
的所有抽象。
但是,我希望在服务中运行套接字连接。这应该在处理程序或线程中运行,甚至是AsyncTask
?UI交互根本不需要。它对我使用的性能有影响吗?
同时,文档得到了很大的改进。