Android Handler机制详解
Android不能在主线程(UI线程、Main Thread)做耗时的操作,耗时操作需要在子线程(工作线程)中操作,子线程又不能更新UI,因此需要Handler在子线程发消息给主线程来更新UI
# 1.Handler介绍
Handler是一套 Android 消息传递机制 / 异步通信机制,Android系统本质上是来说是一个消息驱动的系统,所以在Android开发中,Handler特别重要。
https://blog.csdn.net/haovin/article/details/89609688
# 2.Handler使用方法
概念 | 定义 | 作用 | 备注 |
---|---|---|---|
主线程 | App首次启动会自动开启一条线程(主线程) | 处理和UI相关的操作 | |
子线程 | 人为手动开启线程 | 主要操作一些耗时操作 | |
Message | 线程间通信的数据单元 | 通信消息的载体 | |
MessageQueue | 存放Message的队列 | ||
Handler | 子线程和主线程通信的媒介 | 添加消息到消息队列 处理Looper分发过来的消息 | |
Looper | MessageQueue与Handler的通信媒介 |
# 2.1 主线程和子线程
主线程 即UI线程
子线程
# 2.2 主线程创建Handler
# 2.2 子线程创建Handler
# 2.3 Handler常用的类对象
# MessageQueue
# Looper
# Message
# Handler
# 3.Handler原理剖析
# 3.1
# 4.Handler面试tip
- 一个线程有几个Looper?
- 一个线程成有几个Handler?如果有多个Handler,一个Looper如何识别多个Handler?
编辑此页 (opens new window)
上次更新: 2022-05-09, 07:47:10