Handler
Handler创建的那个线程会在构造函数里面调Looper.myLooper().然后会在Threadlocal里面找到当前线程的looper产生关联.
MessageQueue一个looper对应一个,looper在构造函数里面创建MessageQueue.
looper调用了looper就会循环在Message里面取消息
handler发送Message,massage的target会设置为发送它的handler,然后放进Messagequeue.最后被queue创建的线程的looper取出分发给handler的handlemessage()方法.
HandlerThread
HandlerThread的getLooper()方法保证一定可以拿到非空返回值.如果Looper还没创建就一直wait()
可以防止像子线程发消息的时候,子线程的handler创建的代码还没执行的情况.保证一定可以收到消息