Android 中的异步消息处理主要有四部分组成:Meeage、Handler、MessageQueue 和 Looper。其中Meeage 是线程之间传递的消息,它可以携带少量的信息,用于在不同线程之间交换数据。Handler是发送和处理消息的。发送消息一般是使用Handler的sendMessage()方法,发出的消息经过处理后传递到Handler的handleMessage()中。MessageQueue是消息 队列。主要用于存放Handler发出的消息。这部分消息会一直存在消息队列中,等待被处理。每个线程中只有一个MessageQueue对象。Looper是每个线程中的MessageQueue的管家,调用Looper的loop()方法后,就会进入一个无限循环中,然后每当发现MessageQueue中存在一条信息,就会把它取出来,传递到Handler的handleMessage()。
异步消息处理的整个流程:创建Handler 对象 --> 重写handleMessage()方法-->创建Message对象 --> 使用handler.sendMessage()发送消息。(这里是可见的,Looper处理的过程并不需要我们管理,我们只要发送消息,Looper就会进行处理)。