android之Looper详解及api详细介绍,使用案例

来源:互联网 发布:js 字符串转date 编辑:程序博客网 时间:2024/06/05 12:41
Looper是用来为一个线程执行一个消息循环的,线程默认是没有循环消息与他们绑定到一块的,为了创建一个
,在线程中调用prepare()来运行这个循环,然后开始循环处理消息,知道这个循环结束。
大多数与消息循环交互是通过Handler()。
下面通过一个典型的线程循环的例子来说明,使用prepare()和loop()来创建一个handler来与
Looper交互。
  class LooperThread extends Thread {
      public Handler mHandler;


      public void run() {
          Looper.prepare();


          mHandler = new Handler() {
              public void handleMessage(Message msg) {
                  // process incoming messages here
              }
          };


          Looper.loop();
      }
  }
  
  常用方法:
  loop()
  在线程中执行消息队列,在结束时通过调用quit()。
  
  prepare()
  
  为当前线程提供一个Looper.
  
  getMainLooper()
  
  返回当前应用程序中依赖主线程的looper,
  
  getThread()
  
  返回和looper相关联的线程。
  
  mylooper()
  
  返回和当前线程关联的looper,如果没有looper与当前线程关联,则返回null。
  
  myQueue()
  
  返回和当前线程相关联的消息队列,使用这个方法,必须确保当前线程与looper相关联。
  
  prepareMainLooper()
  
  初始化与主线程相关联的looper。
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
原创粉丝点击