Leo Technology Stack Leo Technology Stack
首页
  • Android
  • Web
  • SpringBoot
  • 数据库
  • Docker
  • Netty
  • KubeSphere
  • Linux
  • Android Framework
  • 开源库
思维
  • 面试
  • 投资理财
  • 杂事记录
  • 索引

    • 分类
    • 标签
    • 归档
  • 开源项目

    • Advance Markdown
    • AnLibrary (opens new window)

Leo

不知名的架构师
首页
  • Android
  • Web
  • SpringBoot
  • 数据库
  • Docker
  • Netty
  • KubeSphere
  • Linux
  • Android Framework
  • 开源库
思维
  • 面试
  • 投资理财
  • 杂事记录
  • 索引

    • 分类
    • 标签
    • 归档
  • 开源项目

    • Advance Markdown
    • AnLibrary (opens new window)
  • Android Handler机制详解

    • 1.Handler介绍
      • 2.Handler使用方法
        • 2.1 主线程和子线程
        • 2.2 主线程创建Handler
        • 2.2 子线程创建Handler
        • 2.3 Handler常用的类对象
      • 3.Handler原理剖析
        • 3.1
      • 4.Handler面试tip
      • notes
      • 前端
      • Android
      Leo
      2021-04-20
      1.Handler介绍
      2.Handler使用方法
      2.1 主线程和子线程
      2.2 主线程创建Handler
      2.2 子线程创建Handler
      2.3 Handler常用的类对象
      3.Handler原理剖析
      3.1
      4.Handler面试tip

      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
      Theme by Leo | Copyright © 2016-2025 Leo | MIT License
      • 跟随系统
      • 浅色模式
      • 深色模式
      • 阅读模式