框架中handler的意义

来源:互联网 发布:爱思助手有没有mac版 编辑:程序博客网 时间:2024/06/08 12:17

在许多框架中看到了handler这个词汇但是一开始不理解到底为什么这么命名,今天百度了一下才清楚,以下是百度中对handler的解释。

Handler主要用于异步消息的处理:当发出一个消息之后,首先进入一个消息队列,发送消息的函数即刻返回,而另外一个部分在消息队列中逐一将消息取出,然后对消息进行处理,也就是发送消息和接收消息不是同步的处理。 这种机制通常用来处理相对耗时比较长的操作。

像SpringMVC中就有很多以handler命名的类:DefaultAnnotationHandlerMapping、AnnotationMethodHandlerAdapter 等


在Android中,对于UI的操作通常需要放在主线程中进行操作。如果在子线程中有关于UI的操作,那么就需要把数据消息作为一个Message对象发送到消息队列中,然后,由Handler中的handlerMessage方法处理传过来的数据信息,并操作UI。当然,Handler对象是在主线程中初始化的,因为它需要绑定在主线程的消息队列中。
类sendMessage(Message msg)方法实现发送消息的操作。 在初始化Handler对象时重写的handleMessage方法来接收Message并进行相关操作。


0 0