Handler
//成员变量
final Looper mLooper;
final MessageQueue mQueue;
...
//创建Handler 对象
public Handler(Looper looper, Callback callback, boolean async) {
mLooper = looper;
mQueue = looper.mQueue;
…
}
Looper
final MessageQueue mQueue;
//当前线程赋值 looper 对象,设置过之后,再次设置就会异常。
private static void prepare(boolean quitAllowed) {
if (sThreadLocal.get() != null) {
throw new RuntimeException("Only one Looper may be created per thread");
}
sThreadLocal.set(new Looper(quitAllowed));
}
//创建Looper 对象。MessageQueue对象赋值
private Looper(boolean quitAllowed) {
mQueue = new MessageQueue(quitAllowed);
mThread = Thread.currentThread();
}
//获取当前线程的消息队列MessageQueue对象,死循环获取队列的Message 对象,
public static void loop() {
final