美文网首页
Android 消息机制

Android 消息机制

作者: BrightLight | 来源:发表于2018-09-04 15:57 被阅读0次

    一、相关概念

    • 主线程(UI线程:Thread main):
      1、定义:当程序第一次启动时,Android会同时启动一条主线程( Main Thread);
      2、作用:主线程主要处理与UI相关的事件;
    • Message(消息):
      1、定义:Handler处理和接受的消息对象;
      2、作用:通讯时相关信息的存储和传递;
    • ThreadLocal
      1、定义:线程内部的数据存储类;
      2、作用:赋值存储和获取本线程的Looper,通过他可以在指定的线程中存储数据,而其他线程无法获取;
    • Message Queue(消息队列):
      1、定义:采用单链表的数据结构来存储消息列表
      2、作用:用来存放通过Handler发过来的Message,按照先进先出原则执行;
    • Handler(处理者):
      1、定义:Message的主要处理者;
      2、作用:负责发送Message到消息队列及处理Looper分派过来的Message;
    • Looper(循环器):
      1、定义:扮演Message Queue和Handler之间桥梁的角色
      2、作用:(1)消息循环:循环取出Message Queue中的Message; (2)消息派发:将取出来的Message交付给相应的Handler

    二、解读他们之间的关系

    Looper中存放有Message Queue , Message Queue中存放很多的Message,当Handler发送Message时,会获取当前的Looper,并在当前的Looper中的Message Queue中存放此Message,而我们的MessageQueue也会在Looper的带动下,一直循环的读取Message消息,并将Message发送给Handler,并执行HandlerMessage() 方法;就等于是一个循环过程,放进去然后取出来;


    相关文章

      网友评论

          本文标题:Android 消息机制

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