Android中的Looper类

Posted Abro.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android中的Looper类相关的知识,希望对你有一定的参考价值。

简介

        android中的looper类,是用来封装消息循环和消息队列的一个类,用于在Android线程中进行消息处理。handler可以看作是工具类,用于向消息队列中插入消息。


looper类的作用

  1. looper类用来为一个线程开启消息循环;

  2. 通常是通过handler对象与looper进行交互,handler可以看作是looper的一个接口,用于向指定的looper发送消息及定义处理方法;

  3. 在非主线程中直接new handler()会报错,原因是非主线程中默认没有创建looper对象,需要先调用looper.prepare()启用looper;

  4. looper.loop()让Looper开始工作,从消息队列中取消息,处理消息;

  5. 基于以上知识,可以实现主线程给子线程(非子线程)发送消息,如下面的代码。

class LooperThread extends Thread 
      public Handler mHandler;
  
      public void run() 
          Looper.prepare();//启动looper
  
          mHandler = new Handler(Looper.myLooper()) 
              public void handleMessage(Message msg)//处理传入的信息
                  // process incoming messages here
              
          ;
  
          Looper.loop();//处理在这个线程的MQ
      
  

 如有错误,希望各位观摩的大佬能指出嘻嘻嘻~

以上是关于Android中的Looper类的主要内容,如果未能解决你的问题,请参考以下文章

Android源码学习-----HandlerThread

Android的Handler,Looper源码剖析

与android线程相关的looper、handler等术语是啥?这些类有啥关系? [关闭]

Android Handler类 发送消息-post()和postDelay(), Looper讲解

android的消息处理机制(图+源码分析)——Looper,Handler,Message

Android消息机制——Handler