博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android消息机制Looper、Handler、MessageQueen(一)
阅读量:3932 次
发布时间:2019-05-23

本文共 734 字,大约阅读时间需要 2 分钟。

一、消息机制相关概念的解释

1、主线程(UI线程)

定义:当程序第一次启动时,Android会同时启动一条主线程(Main Thread)

作用:主线程主要负责处理与UI相关的事件

2、Message(消息)

定义Handler 接收处理消息对象Bean对象

作用:通信时相关信息的存放传递

3、ThreadLocal

定义线程内部数据存储类

作用:负责存储获取本线程的Looper

4、Message Queue(消息队列)

定义:采用单链表数据结构存储消息列表
作用:用来存放通过Handler发过来的Message,按照先进先出执行

5、Handler(处理者)

定义Message的主要处理者
作用:负责发送Message到消息队列&处理Looper分派过来Message

6、Looper(循环器)

定义:扮演MessageQueueHandler之间桥梁的角色
作用
1)消息循环:循环取出 MessageQueue的Message
2)消息派发将取出的Message交付给相应的Handler

图片解读它们之间的关系

在这里插入图片描述

文字解读它们之间的关系

Looper中存放有MessageQueen,MessageQueen中又有很多Message==;当我们的Handler发送消息的时候,会获取当前的Looper,并在当前的Looper的MessageQueen当中存放我们发送的消息;而我们的MessageQueen也会在Looper的带动下,一直循环的读取Message信息并将Message信息发送给Handler,并执行HandlerMessage()方法

二、Android消息机制的通信流程图在这里插入图片描述

三、源码分析

参考:

你可能感兴趣的文章
php 定时执行任务
查看>>
php是什么
查看>>
谷歌发布apache加速模块 加速50%
查看>>
工作日志
查看>>
https工作原理
查看>>
php文件操作
查看>>
php 判断字符串类型及长度
查看>>
php设计模式
查看>>
php与java通信
查看>>
socket
查看>>
TCP HTTP UDP 区别
查看>>
PHP单例模式
查看>>
PHP项目设计
查看>>
memcache的安装及管理
查看>>
递归列出所有目录和文件
查看>>
PHP发送邮箱类及应用
查看>>
PHP操作文件夹
查看>>
php 获取客户端所在城市地址
查看>>
ruby脚手架
查看>>
rubyonrails安装
查看>>