首页 > 其他分享 >2023/5/5

2023/5/5

时间:2023-05-15 09:37:21浏览次数:27  
标签:MessageQueue 对象 Handler 线程 Looper 2023 UI

Handler的执行流程图

UI线程:就是我们的主线程,系统在创建UI线程的时候会初始化一个Looper对象,同时也会创建一个与其关联的MessageQueue;
Handler:作用就是发送与处理信息,如果希望Handler正常工作,在当前线程中要有一个Looper对象
Message:Handler接收与处理的消息对象
MessageQueue:消息队列,先进先出管理Message,在初始化Looper对象时会创建一个与之关联的MessageQueue;
Looper:每个线程只能够有一个Looper,管理MessageQueue,不断地从中取出Message分发给对应的Handler处理!

当我们的子线程想修改Activity中的UI组件时,我们可以新建一个Handler对象,通过这个对象向主线程发送信息;而我们发送的信息会先到主线程的MessageQueue进行等待,由Looper按先入先出顺序取出,再根据message对象的what属性分发给对应的Handler进行处理!

标签:MessageQueue,对象,Handler,线程,Looper,2023,UI
From: https://www.cnblogs.com/lklyouhouhou/p/17400852.html

相关文章

  • 2023.5.5
    MP的分页插件@ConfigurationpublicclassMPConfig{   @Bean   publicMybatisPlusInterceptormybatisPlusInterceptor(){       //创建mybatisplus拦截器       MybatisPlusInterceptorinterceptor=newMybatisPlusInterceptor();       /......
  • 2023.5.11
       Java多线程是指在一个Java程序中同时执行多个线程,它可以提高程序的并发性和响应能力。Java中实现多线程的方式:       继承Thread类       实现Runnable接口       Executor框架       Callable       Future       线程池......
  • 2023.5.10
    什么是多线程   多线程:       指的是在一个进程中同时运行多个线程,每个线程都可以独立执行不同的任务或操作。       与单线程相比,多线程可以提高程序的并发性和响应能力。什么是进程   进程:   是指正在运行的程序的实例。   每个进程都拥有自己......
  • 2023-05-15 leetcode周赛题
    找出转圈游戏输家mysolution100%passclassSolution:defcircularGameLosers(self,n:int,k:int)->List[int]:seen=set()now_num=1step=1seen.add(1)while1:stepSum=step*ktotal=now_num+stepSumnow_num=tot......
  • 2023.5.12
    实现Runnable接口 另一种实现多线程的方式是实现Runnable接口,需要实现run()方法,并将实现了Runnable接口的对象传递给Thread类的构造函数。publicclassRunnableDemo{   publicstaticvoidmain(String[]args){       //创建10个线程并启动       fo......
  • 2023/5/9
    什么是方法回调?答:是将功能定义与功能分开的一种手段,一种解耦合的设计思想;在Java中回调是通过接口来实现的,作为一种系统架构,必须要有自己的运行环境,且需要为用户提供实现接口;实现依赖于客户,这样就可以达到接口统一,实现不同,系统通过在不同的状态下”回调”我们的实现类,......
  • SSO2.0 4-20230514
                 ......
  • 2023/4/25
    HTML链接是通过标签<a>来定义的<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>ZONGXP</title></head><body><ahref="https://blog.csdn.net/zong596568821xp">这是一个链接使用了href属性<......
  • 2023/4/24
    HTML标题(Heading)是通过<h1>-<h6>标签来定义的.<!DOCTYPEhtml><html><head><metacharset="utf-8"><title>ZONGXP</title></head><body><h1>这是标题1</h1><h2>这是标题2</h2><h3&g......
  • 2023/4/26
    1.帧动画概念以及用法帧动画非常容易理解,其实就是简单的由N张静态图片收集起来,然后我们通过控制依次显示这些图片,因为人眼“视觉残留”的原因,会让我们造成动画的“错觉”,跟放电影的原理一样!而Android中实现帧动画,一般我们会用到前面讲解到的一个Drawable:AnimationDrawable先编写......