标题
Looper,以无限循环的形式去MessageQueue中查找是否有新消息,如果有就执行,否则就一直等待。解决MessageQueue的单链表短板,两者共同作为Handler的底层支撑。
Handler一般在主线程中创建,子线程通过处理器对象的sendMessage发消息到MessageQueue(消息队列)里,主线程中已经包含了一个Looper(轮循器),Looper是死循环的,会一直轮询消息队列,看是否有Message(消息) ,如果有,轮询器会把消息对象传给Handler(消息处理器),然后调用handlerMessage处理该消息,进而更新UI。
- ThreadLocal
- 详解系列(四)——利用Handler在主线程与子线程之间互发消息,handler详解
- Android Handler Message总结
- Handler源码解析
- android线程间通信之handler
- Android异步消息处理机制详解及源码分析 工匠若水
- ANDROID消息机制,从JAVA层到NATIVE层剖析