Handler的作用以及工作原理

在Android开发中经常会用到Handler,很入了解Handler的作用以及工作原理是很有必要的。废话不多说,下面我们开始进入正题。

handler的作用:

同子线程协同工作,接收子线程发送过来的消息,通过发送过来的消息更新主线程(UI线程)。我解释一下:当程序需要从服务器请求数据、执行下载任务或者是执行一些其他耗时操作的时候,我们就不能再主线程中进行了。如果你在主线程中执行的话,程序就会进入一个假死状态,如果时间超过5秒,就会报“force close(强制关闭)”。这个时候,我们就可以把一些耗时操作放在子线程中去执行,这个时候就需要在子线程中去更新UI,但是UI线程又是不安全的,也就是说UI的更新只能在主线程中进行,不能再线程中完成。这个时候,handler就产生了。由于handler运行在主线程中,它通过message对象和子线程进行传递信息。当message传递过来之后,就把其放入message
queue(消息队列)中,最后取出来更新主线程的UI。

handler的工作原理:

对于handler的工作原理我就不多说什么了,下面展示一张我画的handler机制图:

时间: 2024-10-03 19:38:30

Handler的作用以及工作原理的相关文章

GRANT命令的作用及其工作原理

管理一个MYSQL数据库,那么准确地理解GRANT命令的作用及其工作原理是非常有意义的. 想了解如何创建用户,以及使用GRANT命令实现用户权限的授予:如果要管理一个MYSQL数据库,那么准确地理解GRANT命令的作用及其工作原理是非常有意义的. 当执行一条GRANT语句的时候,它会影响一个名为mysql的特殊数据库.权限信息就是保存在这个数据库的6个表中.这样,当对数据库授予权限的时候,就应该注意是否授予了访问mysql数据库的访问权限. 以管理员身份登录的,输入如下命令,我们就可以看到mys

续流二极管作用及工作原理

续流二极管(flyback diode),有时也称为飞轮二极管或是snubber二极管,是一种配合电感性负载使用的二极管,当电感性负载的电流有突然的变化或减少时,电感二端会产生突波电压,可能会破坏其他元件.配合续流二极管时,其电流可以较平缓的变化,避免突波电压的发生. 续流二极管作用及工作原理续流二极管都是并联在线圈的两端,线圈在通过电流时,会在其两端产生感应电动势.当电流消失时,其感应电动势会对电路中的原件产生反向电压.当反向电压高于原件的反向击穿电压时,会把原件如三极管,等造成损坏.续流二极

Handler类和Handler,Loop,MessageQueue的工作原理

原文地址:http://blog.csdn.net/xiyangyang8/article/details/50754771 Handler类的作用主要有两种: 1.在新启动的线程中发送消息. 2.在主线程(UI线程)中获取,处理消息. 注:主线程已经封装有Loop的消息队列处理机制,无需再创建. Handler类包括例如以下方法用于消息发送,处理: 1.void handleMessage(Message msg):处理消息的方法. 2.final boolean hasMessages(in

Handler,Looper,MessageQueue的工作原理

功能划分 Handler的使用必须与几个组件一起. *Message: Handler接收和处理的消息对象,类似于一个业务类,封装了一些变量. *MessageQueue:一个队列容器,采用先进先出的原则管理Message.程序创建Looper对象的时候会在构造函数中创建MessageQueue对象. *Looper:负责管理MessageQueue和Message对象,读取到MessageQueue中的Message之后就会采用sendMessage的方式把消息发送给对应(发送该消息)的Han

Cookie和Session的作用和工作原理

本文链接:https://blog.csdn.net/guoweimelon/article/details/50886092 一.Cookie详解 (1)简介 因为HTTP协议是无状态的,即服务器不知道用户上一次做了什么,这严重阻碍了交互式Web应用程序的实现.在典型的网上购物场景中,用户浏览了几个页面,买了一盒饼干和两饮料.最后结帐时,由于HTTP的无状态性,不通过额外的手段,服务器并不知道用户到底买了什么.为了做到这点,就需要使用到Cookie了.服务器可以设置或读取Cookies中包含信

Mysql主从复制作用和工作原理

一.什么是主从复制 主从复制,是用来建立一个和主数据库完全一样的数据库环境,称为从数据库,主数据库一般是准实时的业务数据库.在最常用的mysql数据库中,支持单项.异步赋值.在赋值过程中,一个服务器充当主服务器,而另外一台服务器充当从服务器:此时主服务器会将更新信息写入到一个特定的二进制文件中.并会维护文件的一个索引用来跟踪日志循环.这个日志可以记录并发送到从服务器的更新中去.当一台从服务器连接到主服务器时,从服务器会通知主服务器从服务器的日志文件中读取最后一次成功更新的位置.然后从服务器会接收

【原创】源码角度分析Android的消息机制系列(六)——Handler的工作原理

ι 版权声明:本文为博主原创文章,未经博主允许不得转载. 先看Handler的定义: /** * A Handler allows you to send and process {@link Message} and Runnable * objects associated with a thread's {@link MessageQueue}. Each Handler * instance is associated with a single thread and that thre

handler的工作原理

一.工作机制 在子线程中创建一个handler的成员变量: 在子线程得到handler的引用,调用sendMessage给主线程发送一个消息 在handler中重写handlermessage,修改ui界面 二.工作原理 前提知识:所有的ui界面的操作系统,后台都运行者一个死循环,它在不停的监听和接收用户发出的指令,一旦接收指令就会立即执行 子线程调用handler的sendMessage方法,把消息发送给handler,handler把消息放到Looper内部维护消息队列里,Looper不停地

净水器工作原理中探讨其作用

现在净水器的越来越受大众青睐,但一部分可能只是盲目的跟风,不了解净水器的真正作用.原理就选择购买.安装,但能否真正起到净水作用,就不清楚了,下面我们就从净水器工作原理来了解下: 净水器的作用大家都清楚,那就是过滤水中的有害物质,出现的时间也比较短,从上世纪80年代到现在,但受市场需要,发展还是很快的.其主要分为反渗透净水器.超滤膜净水器和能量水机三种,而净水能力最强的就是反渗透净水器,因此我们主要了解下反渗透净水器的工作原理:? 市面上的反渗透净水器的标配是5级过滤,主要有PP棉.前置颗粒炭.前