Handler和Helper的区别是什么

Handler和Helper的区别是定义不同。handle指向某个类别的资源对象,如文件句柄,进程ID都可以用handle来表达,在当动词讲时含义是处理和操作。而handler表示的是过程(函数),理解为功能处理器的含义,如常用的回调函数可以用handler来表示。

Handler和Helper的区别是什么-Worktile社区

在计算机编程术语里handle作为名词时是对可进行管理的资源对象的抽象,handle指向某个类别的资源对象,如文件句柄,进程ID都可以用handle来表达,在当动词讲时含义是处理和操作。而handler表示的是过程(函数),理解为功能处理器的含义,如常用的回调函数可以用handler来表示。

handler是Android给我们提供用来更新UI的一套机制,也是一套消息处理的机制,我们可以用它发送消息,也可以通过它处理消息。生命周期的改变都是通过handler消息改变的。

事实证明,子线程是可以更新UI的,但是如果子线程先休眠一段时间再去更新就会失败,这个还得从ViewRootImp的创建说起,ViewRootImp是在onResume()中创建的,没有休眠的子线程不会经历onResume()阶段,只有休眠过的子线程才会经历onResume()阶段,才会创建ViewRootImp,才会不能让子线程更新UI。但是我们不建议这么做,我们最好不要在子线程中更新UI。

Handler是用来结合线程的消息队列来发送、处理”Message对象”和”Runnable对象”的工具。

每一个Handler实例之后会关联一个线程和该线程的消息队列。也就是说,当你创建一个Handler的时候,从此开始,他就会自动关联到所在的线程/消息队列,然后它就会陆续把Message/Runnable分发到消息队列,并在他们出队的时候处理掉。因为android只允许在主线程中更新UI,Handler的目的就是作为线程通信的桥梁,进而再通过主线程更新UI。使用Handler这种异步回调机制,使我们可以再完成一个很长的任务后再做出相应的通知。

延伸阅读:

什么是Handler?

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

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

类sendMessage(Message msg)方法实现发送消息的操作。 在初始化Handler对象时重写的handleMessage方法来接收Message并进行相关操作。

文章标题:Handler和Helper的区别是什么,发布者:小编,转载请注明出处:https://worktile.com/kb/p/37371

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月7日 下午11:02
下一篇 2023年2月7日 下午11:04

相关推荐

  • 什么是 Ezula

    Ezula(有时写作 eZula)是作为一部分浏览器帮助程序对象 (BHO) 安装的一种广告软件。无需用户许可,ezula 便可与远程服务器通信并向个人显示基于上下文的广告。Ezula 不含有危险病毒,但会降低用户浏览器的响应速度,须经用户手动安装。 什么是 Ezula Ezula(有时写作 eZu…

    2022年11月3日
    4400
  • 编程语言中“库”与“函数”是什么关系

    库是和函数是平级的概念。做一个程序,程序里有很多函数,并且有一个主流程去调用这些函数来完成程序功能。做一个库,库里也有很多函数,库和程序的区别是库没有一个主流程,因此不能被执行。作为代替,库里有一部分函数拥有被“导出”的资格。 库是和函数是平级的概念。做一个程序,程序里有很多函数,并且有一个主流程去…

    2023年2月23日
    1200
  • okr适合什么样的组织

    okr适合的组织有:1. 具有明确愿景的组织;2. 拥有高度参与度的组织;3. 具备明确度量标准的组织;4. 具有高度透明度的组织;5. 具备灵活性的组织。OKR方法适用于那些具有明确愿景并希望将其转化为实际成果的组织。 1. 具有明确愿景的组织 OKR方法适用于那些具有明确愿景并希望将其转化为实际…

    2023年2月28日
    1300
  • 呆神王英键:信息安全行业低调大佬的一次脱轨式创业

    文| babayage 编辑 |馨 月 “呆神”王英键,跟呆字不沾半点关系,言谈举止中尽是通透融润的人生智慧。身为信息安全行业的低调大佬,入行早、辈分高、成就大,在三年一小变、五年一大变的信息产业中屹立18年不倒,帮衬的袍泽、带出的徒弟遍布信安领域。可就是这么一位阅尽春秋的高人,却也做出过让自己猛拍…

    2022年3月20日
    18600
  • linux删除文件夹命令

    linux删除文件夹的命令有:1、rm命令;2、rmdir命令。rm命令可以用于删除文件夹,但是,使用 rm 命令删除文件夹的时候,一定要加上 -r 或 -R 选项,否则会报错。rmdir命令是英文单词 remove directory 的缩写,主要作用是删除文件夹。 一、删除文件夹命令 1、rm命…

    2023年3月17日
    7100
  • 运算符的结合性,从左向右,从右向左到底是什么意思

    运算符是编程语言中非常重要的一部分,它们用于执行各种计算和操作。在编写代码时,我们通常需要使用多个运算符来实现所需的功能。但是,运算符的结合性对于我们正确理解运算符的优先级和顺序至关重要。本文将详细介绍运算符的结合性,包括从左向右,从右向左的含义以及其在编程中的应用。 运算符的结合性 在编程中,每个…

    2023年3月1日
    8100
  • 有哪些防止反编译Java类库jar文件的办法

    防止反编译Java类库jar文件的办法有:1、隔离Java程序;2、对Class文件进行加密;3、转换成本地代码;4、代码混淆。隔离Java程序是最简单的方法,让用户不能够访问到Java Class程序,这种方法是最根本的方法,具体实现有多种方式。 1、隔离Java程序 最简单的方法就是让用户不能够…

    2023年2月7日
    5800
  • 什么是okr绩效管理模式

    okr绩效管理模式是指为确保达成企业目标的关键结果分解与实施,它是一种目标管理方法,是一种能够让企业更好的聚焦战略目标,更好的集中配置资源,更好的使团队上下同欲的管理方法。 一、okr绩效管理模式简介 okr绩效管理模式是指为确保达成企业目标的关键结果分解与实施,它是一种目标管理方法,是一种能够让企…

    2023年1月31日
    6100
  • 图像语义分割和普通的图像分割的区别

    区别是:图像语义分割是图像处理和计算机视觉技术中关于图像理解的重要的一环。语义分割对图像中的每一个像素点进行分类,确定每个点的类别图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。 图像语义分割 图像语义分割是图像处理和计算机视觉技术中关于图像理解的重要的一环。语义…

    2023年2月14日
    14400
  • 国内最知名的10大工单管理系统盘点

    本文将介绍的工单管理系统包括:1、PingCode;2、容联七陌;3、Udesk;4、网易七鱼;5、天润融通;6、帮我吧;7、工单速派;8、工单速派;9、锦艺工单;10、工单管家。PingCode 是国内顶级的软件研发管理工具提供商。 一.成熟的工单管理系统应该具备哪些功能 首先,工单系统一定是个性…

    2022年8月26日
    51900

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部