Handler、Loop、MessageQueue的工作原理。
和Handler一起工作的组件:
- Message:Handle 接收和处理的消息对象。
- Looper:每个线程只能拥有一个Looper。它的loop方法负责读取MessageQueue中的消息,读取消息后就把消息交给发送消息的Handler进行处理。
- MessageQueue:消息队列,采用先进先出的方式来管理Message。程序创建Looper对象时,会在构造器中创建MessageQueue对象。
handler.post(r);是把r加到消息队列,但并未开辟新线程。等到消息被取出时才执行。