一个线程可以有多个Handler,但是只有一个Looper对象,只有一个MessageQueue对象。
在Looper的prepare方法中创建了Looper对象,并放入到ThreadLocal中,并通过ThreadLocal来获取looper的对象, ThreadLocal的内部维护了一个ThreadLocalMap类, 里面存着<key,value>
key是当前线程(默认会是主线程) value为loop, 所以,一个线程最多只能有一个Looper对象。
在Looper的构造方法中创建了MessageQueue对象,并赋值给mQueue字段。因为Looper对象只有一个,那么Messagequeue对象肯定只有一个。