原标题:自己动手撸一个Handler,让你彻底搞懂Handler机制,揍吻你服不服?
一、关于Handler
Handler对于我们Android开发者来说应该是再熟悉不过了,这也是在android中最重要的消息机制,特别是在面试笔试时,Handler机制也是最常问到的话题。今天我们就来动手撸一个自己写的Handler,用Java层代码方式来实现,进一步来了解Handler在线程通信过程中的作用。
二、问题
Handler机制也可以理解为线程间的消息机制,如果我们自己来设计Handler实现线程间通信,需要怎么做呢?我们知道,在Handler机制中,最重要的几个类:Handler、Looper、MessageQueue、Message、ThreadLocal。那它们在具体实现中又有什么作用呢?
三、思考
首先,从使用者角度来看,他的操作只有两步:
在主线程创建Handler实例,并重写handleMessage方法处理消息。
在子线程获取Handler的引用调用sendMessage方法发送消息,在handleMessage中即可处理该消息。
那从设计者角度来看,我们要分清Handler、Looper、MessageQueue、Message、ThreadLocal这几个类都担当了什么职责:
Handler负责发送和处理消息
Looper消息泵,也就是负责取出消息交给Hand
















