美文网首页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