Handler是消息机制的上层接口,开发中基本只用和Handler交互即可。Handler可以将一个任务切换到Handler指定的线程中执行。如在用Handler在子线程更新UI。
Android消息机制主要就是Handler的运行机制。Handler的运行还依赖MessageQueue、Looper,及Looper内部使用到的ThreadLocal。 MessageQueue是消息队列,用于存放Handler发送的消息,实际是单链表的结构。 Looper会在消息队列中无限循环的查找消息,有消息就取出,没有就等待。 ThreadLocal本质作用是在每个线程中存储数据。在Looper中的作用就是给每个线程存Looper实例。因为我们知道,创建Handler时是需要线程的Looper实例的,而非UI线程默认是没有Looper的。
一、Handler使用与概述
1.1使用步骤
- 在任务执行的线程,使用Looper.prepare()来给线程创建Looper实例。
- 在任务执行的线程,创建Handler实例。
- 在任务执行的线程,使用Looper.loop()开启消息循环。
- 在任务发出的线程,使用Handler实例发送消息。
举个例子
以上内容来自于网络,如有侵权联系即删除

相关文章
- Android全新UI编程 - Jetpack Compose 超详细教程 第1弹
- Android保存照片到相册
- App为了漂亮脸蛋也要美颜,Theme 与 Style 的使用,附一键变装 demo
- Android Studio 4.0 稳定版发布了
- google为何选择kotlin?kotlin如何解决java开发痛点【续】?
- 跟我一起开发商业级IM(1)——技术选型及协议定义
- 【Flutter】 介绍一种通用的页面路由设计方案
- Picasso 源码 commit 日记(2):如何分发和取消下载任务?