美文网首页
谈谈Handler原理

谈谈Handler原理

作者: ContentMy | 来源:发表于2019-11-01 11:13 被阅读0次

最近辞职在家,正在准备面试的东西,在搞简历的时候,又看到了Handler机制这个东西,又想起了去年面试时候面试官问到Handler机制时自己回答的紧张而又断断续续,虽然结果是好的,但是此刻仔细回想,还是语言组织以及当时只想源码里怎么怎么样,而忽略了自己本身要对Handler机制的深入理解的正确性。

都说我们Android在启动后是有一个主线程也就是UI线程去执行的,当我们要做一些类似于网络请求或者别的耗时操作的时候,我们要去开启一个工作线程去执行耗时操作,等到耗时操作结束时,有更新UI的操作需求的话,我们通过Handler可以满足这个更新UI的需求。
那么如何去通知主线程更新UI呢?Handler的发送消息可以通过sendMessage或者post的方式去完成,前者是发送的message对象,后者是一个Runnable对象。但实际上post内部其实也是调用的sendMessageAtTime去通过message传递消息的。

既然是说到了Message,那么就不得不提MessageQueue和Looper。
当我们去发送消息的时候,我们的消息都会放到消息队列(也就是MessageQueue)中,然后通过Looper去遍历提取消息,如果为空的话Return,如果有消息的话,就调用了Handler的dispatchMessage方法回调。在diapatchMessage中,做了判断分辨是发送消息的是sendMessage还是post,这里post的Runnable的对象是存到了Message的callback中,所以对callback做了非空判断去决定最后调用的方法

相关文章

  • 谈谈Handler原理

    最近辞职在家,正在准备面试的东西,在搞简历的时候,又看到了Handler机制这个东西,又想起了去年面试时候面试官问...

  • 自己涉及到的面试题

    谈谈Handler的使用场合,和原理? 两个场合,一个就是主线程中,一个在自己开的非主线程中。 Handler发送...

  • Handler postDelayed的实现原理

    Handler postDelayed的实现原理 问题描述 Handler.postDelayed()的原理是如何...

  • Android Handler机制9--HandlerThrea

    移步Android Handler机制详解 1 工作原理 内部原理 = Thread类 + Handler类机制...

  • Handler

    一,什么是handler 二,handler的使用 三,handler机制原理 四,handler引起的内存泄漏和...

  • 三分钟看懂Handler原理

    Handler机制的工作原理 Handler 工作流程基本包括 Handler、Looper、Message、Me...

  • Handler 机制---学习笔记

    handler机制的原理 - 刘望舒的专栏 - 博客频道 什么是Handler? handler是a...

  • 【多线程通信】消息机制Handler

    Handler、Looper、Message、MessageQueue基础流程分析 Handler的工作原理(消息...

  • handler的原理小结

    by hzwusibo 20190504 handler的原理, loop怎么与handler进行绑定https:...

  • Handler原理解析

    Handler原理解析 Handler的基本创建步骤 要创建Handler首先需要looper对象,looper的...

网友评论

      本文标题:谈谈Handler原理

      本文链接:https://www.haomeiwen.com/subject/dmtzeftx.html