我正在使用android上的线程和处理程序,我是这方面的初学者。
实际上,对我来说还有一些不清楚的地方:处理程序方法
void handleMessage(Message msg)
"
总是在UI线程中运行?
事实上,在官方文件中他们说"
每个Handler实例都与一个线程相关联 线程的消息队列
这对我来说有点混乱,因为根据我的理解,这意味着处理程序的handleMessage方法在创建它的线程中运行。
请提前帮助并提前致谢
答案 0 :(得分:0)
Handler运行在通过new创建它时所处的任何线程上。该线程必须具有一个Looper对象,UI线程默认具有该对象,并且任何其他线程必须自己创建。因此,虽然您可以将Handler帖子发布到任何线程,但99%的时间它将出现在UI线程上。可以安全地假设它在读取代码时进入UI线程,直到证明不同。