定义
一套Android 消息传递机制
作用
在多线程的应用场景中,将工作线程中需更新UI的操作信息传递到UI主线程,从而实现工作线程对UI的更新处理,最终实现异步消息的处理
流程为什么要用Handler消息传递机制
多个线程并发更新UI的同时,保证线程安全
描述相关概念
1.主线程(UI线程,Main Thread)
定义:当应用程序第一次启动时,会同时自动开启一条主线程
作用:处理与UI相关的事件(如更新,操作等)
2.子线程(工作线程)
定义:人为手动开启的线程
作用:执行耗时操作(如网络请求,数据加载等)
主线程和子线程之前的通信媒介:Handler
3.消息Message
定义:线程间通信的数据单元(即Handler接受和处理的消息对象)
作用:储存需要操作的通信信息
4.消息队列Message Queue
定义:一种数据结构(储存特点:先进先出)
作用:储存Handler发送过来的消息(Message)
5.处理者 Handler
定义:主线程与子线程的通信媒介&线程消息的主要处理者
作用:添加消息(Message)到消息队列(Message Queue)
处理循环器(Looper)分派过来的消息(Message)
6.循环器 Looper
定义:消息队列(Message Queue)与处理者(Handler)的通信媒介
作用:消息循环,即
消息获取:循环取出消息队列(Messgae Queue)的消息(Message)
消息分发:将取出的消息(Message)发送给对应的处理者(Handler)
备注:a.每个线程只能拥有一个Looper
b.一个Looper可绑定多个线程的Handler
c.即多个线程可往一个Looper所持有的MessageQueue中发送消息,提供了线程间通信的可能
网友评论