Handler机制原理

来源:互联网 发布:matlab矩阵做聚类分析 编辑:程序博客网 时间:2024/04/26 12:05

我们知道在Android中的UI线程中请求网络,需要开启子线程进行请求网络。但是,子线程中的网络请求结束之后需要更新UI,此时就比较头疼了,这时,Handler的出现就能解决此问题。

那么问题来了,什么是Handler以及原理又是怎样的呢?


什么是Handler?

Handler是用于在2个线程之间进行通信的一个工具。比如:在UI线程中创建一个Handler对象,然后再子线程中调用Handler对象的sendMessage方法,可以将数据从子线程传递到UI线程,最后将数据显示到View中。

简单说:Handler就是一个在线程间发送消息的工具。 相当于手机





Handler的基本使用



Handler的传递机制:

主要的类有:Handler、Message、MessageQueue、Looper



总结:
Handler是负责发送和接收消息的
Message是用来做消息封装的
MessageQueue是一个消息队列,用来存放Message对象,它是交由Looper来进行管理,而MessageQueue里面的Message循环调用,是采用Looper里面的loop方法。

首先,Handler通过sendMessage方法发送一个Message对象,然后这个Message对象会进入到MessageQueue里面。其次,Message对象是由Looper对象来管理的,而Looper里面有个loop方法来循环MessageQueue里面的Message,当Message遍历出来之后就可以通过Message里面的target可以调用到HandlerMessage方法。


0 0
原创粉丝点击