Handler-消息机制

 

一,作用:是用来做异步的

 

二,关键类的详细介绍

1,概念介绍:

       handler负责发送消息,Looper负责接收Handler发送的消息,并直接把消息回传给Handler自己。MessageQueue就是一个存储消息的容器。

Message

· 定义:消息,理解为线程间通讯的数据单元(Handler接受和处理的消息对象。)

例如后台线程在处理数据完毕后需要更新UI,则可发送一条包含更新信息的Message给UI线程

Message Queue

       通常翻译为“消息队列”,以队列的形式对外提供插入和删除操作。虽然被称之为消息队列,但是实际上它的数据结构却是采用的单链表的结构来存储消息列表(单链表在插入和删除操作上效率比较高)。

     MessageQueue主要包含两个操作:插入(enqueueMessage)和读取(next)。

 

Handler

· 定义:对于handler来说工作主要是消息的发送和接收过程

.作用:负责将Message添加到消息队列&处理Looper分派过来的Message

 

Looper

定义:循环器,扮演Message Queue和Handler之间桥梁的角色

作用:主要负责消息循环:循环取出Message Queue的Message;消息派发:将取出的Message交付给相应的Handler

 

         一个线程只会有一个Looper实例,同时一个Looper实例也只有一个MessageQueue

        线程是默认没有Looper的,如果需要使用Handler,就必须为线程创建Looper。我们经常提到的主线程,也叫UI线程,它就是ActivityThread,

       ActivityThread被创建时就会初始化Looper,这也是在主线程中默认可以使用Handler的原因。

 

2,相关方法介绍

2.1,Handl

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值