美文网首页Android进阶
Android Handler机制

Android Handler机制

作者: BlingBest | 来源:发表于2018-04-10 10:06 被阅读30次

定义

一套Android 消息传递机制

作用

在多线程的应用场景中,将工作线程中需更新UI的操作信息传递到UI主线程,从而实现工作线程对UI的更新处理,最终实现异步消息的处理

流程

为什么要用Handler消息传递机制

多个线程并发更新UI的同时,保证线程安全

描述

相关概念

1.主线程(UI线程,Main Thread)

定义:当应用程序第一次启动时,会同时自动开启一条主线程

作用:处理与UI相关的事件(如更新,操作等)

2.子线程(工作线程)

定义:人为手动开启的线程

作用:执行耗时操作(如网络请求,数据加载等)

主线程和子线程之前的通信媒介:Handler

3.消息Message

定义:线程间通信的数据单元(即Handler接受和处理的消息对象)

作用:储存需要操作的通信信息

4.消息队列Message Queue

定义:一种数据结构(储存特点:先进先出)

作用:储存Handler发送过来的消息(Message)

5.处理者 Handler

定义:主线程与子线程的通信媒介&线程消息的主要处理者

作用:添加消息(Message)到消息队列(Message Queue)

处理循环器(Looper)分派过来的消息(Message)

6.循环器 Looper 

定义:消息队列(Message Queue)与处理者(Handler)的通信媒介

作用:消息循环,即

    消息获取:循环取出消息队列(Messgae Queue)的消息(Message)

    消息分发:将取出的消息(Message)发送给对应的处理者(Handler)

备注:a.每个线程只能拥有一个Looper

            b.一个Looper可绑定多个线程的Handler

            c.即多个线程可往一个Looper所持有的MessageQueue中发送消息,提供了线程间通信的可能


相关文章

网友评论

    本文标题:Android Handler机制

    本文链接:https://www.haomeiwen.com/subject/pblghftx.html