Handler机制

第一:handler所涉及大的重要知识:
1.Handler是用来接收和发送消息的
2.looper存放在ThreadLocal里面
3.handler里面有一个looper里面的messageQueue的引用
4.message是一个链表
5.在一个线程中只能有一个looper和messageQueue,可以有多个Handler
6.Handler如何退出MessageQueue?Handler通过sendMessage(null)来发送空的消息,调用quit()方法来退出消息循环

第二:handler所涉及到的一些细节问题:

2、主线程中为什么没有看到Looper对象?

      系统自动为主线程创建Looper对象,开启消息循环。所以主线程中使用new来创建Handler对象就够了。而子线程中不能仅仅new来创建Handler对象,必须在new Handler对象前后进行
Looper的prepare()和loop(),否则就会异常。
3、子线程中创建Handler对象的步骤:
Looper.prepare();
Handler handler = new Handler() {
    handlemessage(){}
}
Looper.loop();

第三:handler的机制如图所示



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值