Looper、Handler的关系(一)

写了很久Android应用了,决定把一些自己看到的东西整理一下。

在Android应用中,我们常常通过Handler来处理线程到主进程的消息传递。而这个消息处理的原理简单想想也能够得出来:

1、有一个消息队列,可以往这个消息队列中增加消息;

2、有一个循环体,在不停的从这个消息队列中获取消息,并将消息交给需要处理的地方。

从图中可以看出:

1、将要处理的消息加入到消息队列中,在队列中,一般是将新的消息加入到队尾,但是由于一些优先级高的消息,所以也可以将消息加入到对头。这里的待处理的消息,可以使按钮点击、触摸反馈,也可以是应用自身所产生的消息。

2、有一个处理线程,在不停的从消息队列头中取出消息,并交由处理的地方处理。因此,对于一些优先级高而被加到队列头的消息,将被优先处理。


上面说明了再Android中是如何处理消息的。而实现上述两个功能的,则是由Looper和Handler来实现的。

1、Looper,用于封装消息循环,并提供一个消息队列。

2、Handler,辅助类,封装消息的投递和消息的处理,以及消息处理时的关联。


Looper、Handler的关系(二)Looper、Handler的关系(二)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值