美文网首页
Handler机制

Handler机制

作者: LeoFranz | 来源:发表于2019-08-29 17:30 被阅读0次
  • handler中的looper如何与当前线程绑定

handler实例化的时候会构造对应该handler的looper和messageQueue,而当前线程的looper和messageQueue是在Looper.prepare方法中实例化并借助ThreadLocal.set方法与当前looper绑定到当前线程(当前线程就是调用Looper.prepare方法的线程)。

实例化looper时候已经将messageQueue实例化了。

主线程中生成handler时候为什么没有调用prepare()方法生成looper实例并将其绑定到当前线程?因为activityThread的main方法中已经生成了一个looper(Looper.prepareMainLooper()方法),然后通过Looper.loop()让这主线程循环调用起来。

  • handler如何往looper中存取消息?
    sendMessage方法中进入enqueueMessage方法,然后通过msg.target = this;将handler和message进行绑定,最后能够将message加入到queue末尾。
    获取message是通过Looper.loop()中无限循环获取queue的下一个message,直到queue为空,如果message不为空就调用msg.target.dispatchMessage(msg);这样就将message通过handler处理了。

  • 无限循环中如何保证主线程不被卡死
    线程默认没有Looper的,如果需要使用Handler就必须为线程创建Looper。我们经常提到的主线程,也叫UI线程,它就是ActivityThread,ActivityThread被创建时就会初始化Looper,这也是在主线程中默认可以使用Handler的原因。
    Android中为什么主线程不会因为Looper.loop()里的死循环卡死? - Gityuan的回答 - 知乎

  • 子线程中更新UI方式
    1、在子线程中给Handler赋予looper,要知道当handler绑定了looper,其发送的message就是在looper对应的Thread中处理的。
    2、调用runOnUIThread,内部机制和主线程handler一致
    3、调用view.post方法,实现通过绑定了sMainLooper的handler
    4、利用AsyncTask更新UI,也是通过handler,我裂开

相关文章

  • 深入理解Handler机制之引路篇

    要想深入理解Handler机制,就要理解: Android为何要引入Handler机制? Handler机制究竟是...

  • Handler机制小结

    Handler笔记 什么是handler机制?handler机制的主要成员1、handler:负责发送处理消息2、...

  • Android:Handler 机制和原理?

    一、Handler机制概述 Handler机制也可以说是消息机制,Handler的运行时需要MessageQueu...

  • Android消息机制

    Handler Android消息机制主要指的是Handler运行机制,Handler底层需要MessageQue...

  • Android 的消息机制

    Android 消息机制主要是指 Handler 的运行机制。 **Handler **Handler 的运行需要...

  • Android Handler机制详解

    Android Handler机制1--ThreadLocalAndroid Handler机制2--Looper...

  • 消息机制

    消息机制Handler的工作原理 Android中的消息机制主要就是指Handler的运行机制,而Handler的...

  • Handler机制整理

    Handler机制整理目录介绍1.关于handler消息机制图2.关于handler基本介绍3.使用handler...

  • android handler 机制 很简单

    1.android handler机制 handler机制,也就是android的异步消息处理机制。但是这个机制不...

  • Android的消息机制

    Handler Android消息机制主要是Handler的运行机制,Handler的运行需要底层的Message...

网友评论

      本文标题:Handler机制

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