安卓基础之《(29)—消息机制与异步任务》

一、线程概述

1、在android中,只有在ui Thread中才能直接更新界面

ui Thread又叫main Thread、主线程

2、在android中,长时间的工作(联网)都需要在workerThread中执行

workerThread又叫分线程、子线程

3、在分线程获得服务器数据后,需要立即到主线程去更新界面显示数据(切换到主线程)

4、如何实现线程间通信呢,用消息机制

二、消息机制

1、Message

(1)可理解为线程间通讯的数据单元,可通过Message携带需要的数据

(2)创建对象

Message.obtain(what)

(3)封装数据

2、Handler

(1)Handler是Message的处理器,同时也负责消息的发送和移除的工作

(2)发送即时消息:sendMessage(Message msg)

(3)发送延时消息:sendMessageDelayed(Message msg, long time)

这里延迟是延迟处理,处理时间=当前时间+延迟时间

(4)处理消息(回调方法):handleMessage(Message msg)

(5)移除还未处理的消息:removeMessages(int what)

3、MessageQueue

(1)消息队列,用来存放通过Handler发送的消息

(2)它是一个按照Message的when排序的优先级队列

4、Looper

(1)钩子,循环器

(2)负责循环取出MessageQueue里面的当前需要处理的Message

(3)交给对应的Handler进行处理

(4)处理完后,将Message缓存到消息池中(线程池),以备复用

5、原理图

相关推荐
修炼者2 小时前
bitmap和drawable的互相转换
android
美狐美颜SDK开放平台3 小时前
美颜SDK接入流程详解:Android、iOS、鸿蒙兼容方案解析
android·人工智能·ios·华为·harmonyos·美颜sdk·视频美颜sdk
笔夏4 小时前
【安卓学习之FloatingActionButton】按钮太小
android·学习
XD7429716365 小时前
科技早报晚报|2026年5月15日:无摄像头空间感知、Android 设备实验室与视频检索代理,今天更值得跟进的 3 个技术机会
android·科技·音视频·开源项目·边缘ai·开发者工具
应用市场5 小时前
Android Verified Boot 2.0 安全启动原理详解
android·安全
只可远观5 小时前
Android XML命令式和Jetpack Compose声明式UI
android·xml
他是龙5515 小时前
DVWA 靶场深度解析:文件包含 & 文件上传(Low → Impossible)
android
_李小白5 小时前
【Android车载学习笔记】第一天:Android Automotive OS介绍
android·笔记
aqi006 小时前
FFmpeg开发笔记(一百零一)跨平台的开源音视频移动框架MobileFFmpeg
android·ffmpeg·音视频·直播·流媒体