对Handler消息机制的理解

本文深入探讨了Android中Handler、MessageQueue和Looper的工作原理,解释了这三个组件如何协同处理消息。对于初学者,Handler可能显得有些神秘,但理解其内部运作方式至关重要,不仅仅是简单使用sendMessage(),而是要掌握整个消息传递的流程。
摘要由CSDN通过智能技术生成

Handler消息机制中无非都是围绕着:Handler,MessageQueue,Looper来做文章的,那么这三者的概念就首先你要清楚它是什么,为什么,怎么办.围绕这三个问题那么问题就不断的被一层一层的深入,最后也就解开了问题的谜题了,对于初学者来说Handler是一个神奇的东西,鸡肋吧,有人说我只要会用sendMessage()就好啦,其实不然


handler:生成,发送,处理消息
Message:数据载体
MessageQueue:Message的队列,FIFO
Looper:轮询器,用来轮询MessageQueue,调用Message中的数据

Android消息机制的概述
     在刚刚自学android的时候,对android的消息机制相信和很多的刚入门同学一样就知道一个sendMessage()和handlerMessage();但是它的内部又是怎么去实现呢?自己在网上查了很多资料也看了很多csdn大牛的文章,但是有句话不是说嘛"书上得来终觉浅,觉知此时要躬行" ,最后决定还是要把我对android消息机制的艰(zuo)辛(si)历程记录下来.
   首先要学一样东西,对这个东西的定义是最为重要的,试问你都不知道其为何物,那你还谈什么去深入呢?
   要想知道你对消息机制的知识到底掌握的怎么样,只要你能回答下面的几个问题那么就算你掌握了:
        1.:一个handler是不是只能对应一个looper?
        2.:一个looper是不是只能对应一个handler?
        3.:MessageQueue和looper是一对一对应的,looper也可以在子线程中用?
    问题的答案嘛,只要你读完这篇博客你就懂了心里有答案了,到博文的最后一处作死的小编也会把答案贴出来,所以同学们不妨在阅读下文的时候,带这三个问题,我相信你会在看着看着的时候就跟我一样恍然大悟的.

      在Android4.0以后不能在UI线程访问网络,子线程也不能更新UI.举个实际的例子,就拿下载东西的进度来说,下载任务是一个耗时的操作,好那么把下载任务放在子线程,如果将耗时操作放在UI线程的话会造成"卡顿&
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值