zoukankan      html  css  js  c++  java
  • handler机制

    一. handler作用

    包含线程队列和消息队列,实现异步的消息处理机制.

    1.运行在某个线程上,共享线程的消息队列.

    2.接受消息,调度消息,派发消息和处理消息.

    3.实现消息的异步处理;

            Handler能够让你发送和处理消息,以及Runnable对象;每个Handler对象对应一个Thread和Thread的消息队列。当你创建一个Handler时,它就和Thread的消息队列绑定在一起,然后就可以传递消息和runnable对象到消息队列中,执行消息后就从消息队列中退出。

      Handler的作用就是:调度消息和runnable对象去被执行;使动作在不同的线程中被执行。

    二. 模型图

    转载:https://blog.csdn.net/android_dong/article/details/81134692

    Handler消息处理模型如下图:

     模型的解释:以Handler的sendMessage方法为例,当发送一个消息后,会将此消息加入消息队列MessageQueue中,Looper负责去遍历消息队列并且将队列中的消息分发给对应的Handler进行处理,在Handler的handleMessage方法中处理该消息,这就完成了一个消息的发送和处理过程。那么,这些过程是怎么进行的?会涉及哪些方法的调用?本文后面会进行介绍。
    这里从图中可以看到参与消息处理有四个对象,它们分别是Handler, Message, MessageQueue和 Looper,它们的源码都在android.os包下面,下面是它们的类定义:

    https://blog.csdn.net/u012974916/article/details/24580405

    https://blog.csdn.net/songfeihu0810232/article/details/78648706

  • 相关阅读:
    成长篇之代码灵异事件
    idea快捷键
    java环境配置常用链接
    MySQL分区
    English 动词篇
    仿stl+函数模板
    java 数组复制
    拓扑排序(Topological Sorting)
    2017蓝桥杯第十题(k倍区间)
    翻译NYOJ
  • 原文地址:https://www.cnblogs.com/Lee-yl/p/11534505.html
Copyright © 2011-2022 走看看