重新整理一下Handler原理(温故而知新,可以为师矣)
说Handler之前,先把和Handler有关的几个组件也说一下
Message:handler发送和处理的消息
Looper :每个线程只有一个looper,是个死循环,loop方法负责从MessageQueue 中拿取数据,然后把数据交给发送消息的Handler进行处理。
MessageQueue:消息队列,遵循先进先出的原则。创建looper对象的时候,会在它的构造器中创建一个MessageQueue,用来管理Message。
Handler :两大作用发送消息和处理消息,Handler将消息发送给指定的MessageQueue,也就是说,想要Handler正常使用,必须在当前线程有MessageQueue,而MessageQueue是通过Looper管理的。也就是说要正常使用Handler必须要有Looper对象,为了保证有Looper基本上分两种方式
主线程中:系统已经初始化了一个Looper对象,所以可以直接创建Handler发送和处理消息就行了。
子线程中:必须自己创建一个looper对象,启动后,looper会进入死循环不断从MessageQueue中区消息分发给对应的Handler进行处理。
重新整理一下Handler原理(温故而知新,可以为师矣)相关推荐
- 【Android 异步操作】Handler ( 主线程中的 Handler 与 Looper | Handler 原理简介 )
文章目录 一.主线程中的 Handler 与 Looper 二.Handler 原理简介 一.主线程中的 Handler 与 Looper Android 系统中 , 点击图标启动一个应用进程 , 就 ...
- Android Handler原理
前言 Handler消息处理机制在Android开发中起着举足轻重的作用,我们有必要好好理解下其原理,先前我写的一篇文章,感觉疏漏了好多东西,因此打算写这篇文章,下面我们先从一个简单的例子出发 一.日 ...
- android 实例源码解释,Android Handler 原理分析及实例代码
Android Handler 原理分析 Handler一个让无数android开发者头疼的东西,希望我今天这边文章能为您彻底根治这个问题 今天就为大家详细剖析下Handler的原理 Handler使 ...
- Handler原理学习
前言 Handler可以说是老生常谈了,因为它在整个Android的系统中是非常重要的一部分,学习它的原理是很有必要的.本文带来的分享是对Handler原理的全面解析,相信对日常的开发和面试会有很大的 ...
- Handler原理剖析,看这篇就够了
Handler原理剖析,看这篇就够了 本篇文章将会对Handler进行深层次的剖析,结合关系剖析图.代码走向剖析图以及10个常见问题,希望看完文章的同学都能有所收获,加深对Handler的了解! 一. ...
- Handler原理分析
Handler的原理分析这个标题,很多文章都写过,最近认真将源码逐行一字一句研究,特此也简单总结一遍. 首先是Handler整个Android消息机制的简单概括: 分三部分对消息机制的整个流程进行阐述 ...
- Handler原理剖析
Handler是Android中的核心类,它的作用主要是进行更新UI的操作,使用非常的简单,因为它的内部已经被Google工程师封装好了,我们只需要简单的调用即可.但是作为一个有梦想的程序猿,不应该止 ...
- Handler原理讲解及源码分析
不用多说先上一张图 一,发送消息 首先我们每次会创建一个Handler会调用源码 如果looper对象为空的话会执行Looper.prepare()将一个新的Looper放入ThreadLocal中. ...
- Handler原理(自己实现Handler)
问题导向 Handler的原理是什么,实现一个Handler,Handler的delay是怎么实现的 实现一个Handler 自己动手撸一个Handler https://blog.csdn.net/ ...
- 【基础知识思考整理 】Zero-copy原理理解(用户角度)
基础知识思考整理 http://blog.csdn.net/aganlengzi/article/details/53332877 关于Zero-Copy的原理.主要参照的是一篇03年的文章[1](L ...
最新文章
- linux系统主要常见目录结构
- mysql 生明变量_MySql中的变量定义
- 返回index.html页面
- php中会话技术,php session会话技术详解
- 越狱Season 1-Episode 15: By the Skin and the Teeth
- 项目中的设计模式【工厂方法模式】
- 让Xcode日志输出中文
- java POI导出excel性能优化
- C语言来实现链表创建
- 编程还是不要用百度翻译,这里有一款更符合编程的翻译工具
- python中使用splash如何挂代理?
- Contiki学习笔记——Cooja启动失败
- 一个操作系统的实现:BOOT
- 《计算机网络管理》 期末考试
- kuka机器人报电源管理报错_KUKA机器人故障信息与故障处理_中文版.pdf
- 化工企业安全生产管理监控预警系统软件
- 计算机属性的Java代码_java - 学计算机的人绝不认输 - 博客园
- 面试06,[长亮科技]()(offer)、[荔枝]()FM(在确定部门和薪资)、[涂鸦智能]()(第一轮电话面半小时,待后续)、华资软件(HR面)、[广州速游]()(已挂)。至于公司怎么样不加以言论。
- DNSPOD动态域名解析
- 计算机主板上安装有芯片组,解决方案:计算机主板上安装了哪些硬件设备?