暴走吧小草莓

导航

深度解析异步处理消息流程

异步消息处理机制深层解析
Android中的异步消息处理主要由4个部分组成:
Message: 用于在线程之间传递消息
Handler: 用于处理和发送Message。sendMessage() 和 handleMessage()
MessageQueue: 存放等待被Handle处理的Message
Looper: 调用Looper中的loop()方法后,Looper每当发现MessageQueue中有消息,就将其取出并传递到Handler
的handleMessage()中

异步消息处理流程:
1. 在主线程中创建一个Handler对象,并重写handleMessage()方法
2. 当子线程中需要进行UI操作时,就创建一个Message对象,并通过Handler将这条消息发送出去
3. 这条消息就会被添加到MessageQueue中等待被处理
4. Looper则会一直尝试从MessageQueue中取出待处理消息,最后分发回Handler的handleMessage()方法中

由于Handler是在主线程中创建的,一条Message经过辗转调用后,就从子线程进入到了主线程,所以我们就可以安心的
进行UI操作了。

 

图解:

 

posted on 2018-01-20 14:22  暴走吧小草莓  阅读(291)  评论(0编辑  收藏  举报