Android进阶基础系列:Handler,Android消息机制全面掌握!

2020-10-17 15:31:55 蜻蜓队长

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使用步骤

  1. 在任务执行的线程,使用Looper.prepare()来给线程创建Looper实例。
  2. 在任务执行的线程,创建Handler实例。
  3. 在任务执行的线程,使用Looper.loop()开启消息循环。
  4. 任务发出的线程,使用Handler实例发送消息。

举个例子

以上内容来自于网络,如有侵权联系即删除
相关文章

上一篇: 【译】Flutter vs React Native vs Native:深度性能比较

下一篇: Ktx:简化Android开发的Kotlin库

在线咨询
客户经理