handler.sendMessage 其实只是把我们的 Message 加入了消息队列,队列采用的是链表的方式,按照 when 也就是时间排序,然后再也没干其他。
为什么 MessageQueue 消息队列要采用链表的方式去存储我们 Message ?
链表和数组的区别?链表是增加删除快,数组是查询快。
looper循环,其实就是创建一个 Looper ,并且保证一个 Thread 线程中,只有一个 Looper 对象(ThreadLocal)。
通过 handler 去执行 Message(msg.target.dispatchMessage(msg)) 这个时候就调用了 handleMessage 方法。