韩梦飞沙  韩亚飞  313134555@qq.com  yue31313  han_meng_fei_sha

handler  就是 处理器 。  用来处理消息, 发送消息。

handler   就是 处理者 的意思。

消息 是一个 存放数据的 类。

消息队列,就是一个存放消息的队列。

looper 可以控制 消息队列的 循环读取。

looper 的意思 是 打环的人;打环装置 。

loop 的意思  是 循环 ,环;圈 的意思。

这里 应该可以理解为 循环器的意思。

首先就是  looper  启动, 创造消息队列,开始循环遍历这个消息队列,

然后   处理器 发送一个消息,  会存放到这个消息队列。

当looper循环读取 消息队列时, 如果读取到这个消息, 会执行 这个消息 对应的  处理器的 处理消息方法。

=====

消息队列  的主要方法为   入队消息enqueueMeassage 和 下一个next  。

排队;入队;队列 的 意思 就是 enqueue

入队消息 方法 是一个单链表的插入操作。

下一个方法  说是一个无限循环, 如果消息队列中没有消息,下一个方法就对阻塞。 有新消息时,下一个方法就会返回这个消息,并将其从链表中删除。

循环器  的 准备方法,就是为 当前没有 循环器的线程 创建循环器。

循环器的 准备 主 循环器 方法 和 获得 主循环器 方法, 就是用于 创建 和 获取  活动 线程的 循环器。

循环器的退出方法 和 安全退出 方法, 前者是 立即退出。  后者是 设置一个标记, 当消息队列 所有消息处理完成之后 退出。

处理器 无论是 它的 发送消息方法 还是 公布post 方法, 最终都是调用的 发送消息在时间   这个方法。

公布 是 post 的意思。

发送消息 其实就是把一个消息 通过 消息队列的 入队消息方法,添加到消息队列。

循环器 收到消息后 会调用 处理器的 分发消息 方法。

当我们直接 处理器 h  = 新建 处理器(),其实是调用的 处理器(返回调用类型  返回调用,布尔类型  异步async) 构造方法。 这个方法里面 会调用循环器的我的循环器方法。

我的循环器方法就是返回 当前线程里的 循环器。

活动线程 在初始化的时候 创建主线程的 循环器。 所以在活动中 直接 新建 处理器 对象 没有问题。

async的意思 是 异步。    asynchronous

sync  是 同步的意思。

============

android 消息机制,handler机制,messageQueue,looper的更多相关文章

  1. android 消息系统Handler、MessageQueue、Looper源代码学习

    android消息系统 总体框架如图所看到的 在安卓的消息系统中,每一个线程有一个Looper,Looper中有一个MessageQueue,Handler向这个队列中投递Message,Looper ...

  2. 深入源代码解析Android中的Handler,Message,MessageQueue,Looper

    本文主要是对Handler和消息循环的实现原理进行源代码分析.假设不熟悉Handler能够參见博文< Android中Handler的使用>,里面对Android为何以引入Handler机 ...

  3. 大话Android中的Handler机制

    在Android的线程间通信中,Handler独当一面,无论是framework层还是app层中都出现的相当频繁,有必要好好的拿出来深挖一下它的实现原理.而要说Handler的通信机制,除了Handl ...

  4. Android中的Handler机制

    直接在UI线程中开启子线程来更新TextView显示的内容,运行程序我们会发现,如下错 误:android.view.ViewRoot$CalledFromWrongThreadException: ...

  5. 5.Android消息推送机制简单例子

    1.首先布局文件xml代码: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout x ...

  6. Android -- 从源码解析Handle+Looper+MessageQueue机制

    1,今天和大家一起从底层看看Handle的工作机制是什么样的,那么在引入之前我们先来了解Handle是用来干什么的 handler通俗一点讲就是用来在各个线程之间发送数据的处理对象.在任何线程中,只要 ...

  7. Android的Handler机制

    Handler机制的原理 Android 的 Handler 机制(也有人叫消息机制)目的是为了跨线程通信,也就是多线程通信.之所以需 要跨线程通信是因为在 Android 中主线程通常只负责 UI ...

  8. Android Handler 机制总结

    写 Handler 原理的文章很多,就不重复写了,写不出啥新花样.这篇文章的主要是对 handler 原理的总结. 1.Android消息机制是什么? Android消息机制 主要指 Handler ...

  9. Android 消息分发机制

    Android 中针对耗时的操作,放在主线程操作,轻者会造成 UI 卡顿,重则会直接无响应,造成 Force Close.同时在 Android 3.0 以后,禁止在主线程进行网络请求. 针对耗时或者 ...

  10. Android源码分析笔记--Handler机制

    #Handler机制# Handler机制实际就是实现一个 异步消息循环处理器 Handler的真正意义: 异步处理 Handler机制的整体表述: 消息处理线程: 在Handler机制中,异步消息处 ...

随机推荐

  1. 32、TreeSet简介

    使用TreeSet存储Integer对象 TreeSet的特点是可以对存放进去的元素进行排序. package com.sutaoyu.list; import java.util.TreeSet; ...

  2. 好用的工具---screen命令

    问 题场景:要在服务器上配置环境,但是我的电脑无法直接连到服务器上,通常要经过好几次ssh跳转.配环境需要设置好几个用户,这自然需要同时打开好几个连 接服务器的终端窗口,每个连接到服务器的终端窗口都要 ...

  3. 不同意义的new和delete

    补充说明: new/delete是运算符而非函数,operator new/delete并非是new/delete的重载.事实上,我们无法自定义new/delete的行为: operator new/ ...

  4. 【直播预告】云栖直播:阿里热修复产品HotFix2.0升级详解

    全面——你知道吗?1891年,卡尔森纳做出的第一把瑞士军刀,只有螺丝刀和开罐器.经过一代又一代能工巧匠的打磨,这把刀陆续增加了锯子.剪刀.镊子.放大镜.改锥,甚至内藏激光.LED手电筒.USB记忆碟等 ...

  5. HTML5练习1

    制作简历 主要代码: <!doctype html> <html> <head> <meta charset="utf-8"> &l ...

  6. Temp权限导致Win10安装程序失败提示2502/2503错误

    有Win10用户在安装程序时遇到了安装失败错误代码2502/2503的问题.如图: 其原因是Windows Installer安装程序需要当前用户具有C:\Windows\Temp目录的完全控制权限, ...

  7. bzoj 4551

    4551 思路: 乱搞: 代码: #include <cstdio> #include <cstring> #include <iostream> #include ...

  8. day1作业:登录接口

    作业一:编写登陆接口 1.输入用户名和密码 2.认证成功后显示欢迎信息 3.输错三次后锁定 思路: (1)用户输入用户名: (2)去锁定文件中验证用户名是否锁定: (3)去当前用户验证用户是否存在: ...

  9. 【LOJ】#2066. 「SDOI2016」墙上的句子

    题解 我一直也不会网络流--orz 我们分析下这道题,显然和行列没啥关系,就是想给你n + m个串 那么我们对于非回文单词之外的单词,找到两两匹配的反转单词(即使另一个反转单词不会出现也要建出来) 具 ...

  10. 【Codeforces】113 D. Museum

    题解 我们设\(f(i,j)\)是\((i,j)\)这个点期望被经过多少次 我们可以列出方程组来消元,由于终点只会被经过0次或者1次,期望就是概率 对于起点的话我们期望经过次数多加一个1 复杂度\(O ...