Handler机制的初步了解

定义:一种消息传递机制
作用:多线程并发工作时,工作线程(子线程)将UI更新的额消息发送到主线程,实现子线程对UI的更新。
用法:Handler发送消息的方式有两种,Handler.sendMessage()和Handler.post();

方法一:
Handler.sendMessage()
1.继承Handler类,实例化Handler对象:

   /*实例化handler对象*/
    class mHandler extends Handler {
        public mHandler() {
        }
        @Override
        public void handleMessage(@NonNull Message msg) {
           /* ................. 执行操作*/
            super.handleMessage(msg);
        }
    };
    private  Handler myhandler;
  /*创建消息对象*/
    Message message=Message.obtain();
  /* 发送消息*/
   public void  send(){
        myhandler=new mHandler();
        myhandler.sendMessage(message);
    }

2.创建Handler匿名内部类:

 private Handler mHandler2 =new Handler(){
      @Override
      public void handleMessage(@NonNull Message msg) {

          /* ................. 执行操作*/
          super.handleMessage(msg);
      }
  };
    /*创建消息对象*/
    Message message2=Message.obtain();
    /* 发送消息*/
    public void  send2(){
        mHandler2.sendMessage(message);
    }

方法二:
Handler.post()

/*实例化handler对象*/
    class mHandler extends Handler {
        public mHandler() {
        }
        @Override
        public void handleMessage(@NonNull Message msg) {
           /* ................. 执行操作*/
            super.handleMessage(msg);
        }
    };
    private  Handler myhandler;
  /*创建消息对象*/
    Message message=Message.obtain();
  /* 发送消息*/
 public void send3(){
        myhandler=new mHandler();
        myhandler.post(new Runnable() {
            @Override
            public void run() {

            }
        });
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 在Android开发的多线程应用场景中,Handler机制十分常用 今天,我将手把手带你深入分析Handle...
    BrotherChen阅读 486评论 0 0
  • 为了更好的理解 Looper 的工作原理,我们需要对 ThreadLocal 进行了解,如果对 ThreadLoc...
    墨染书阅读 1,527评论 0 3
  • 一、前言: Android中的消息机制是通过Handler来实现的。随着EventBus和RxJava等依托观察者...
    因为我的心阅读 3,097评论 0 0
  • 异步消息处理线程启动后会进入一个无限的循环体之中,每循环一次,从其内部的消息队列中取出一个消息,然后回调相应的消息...
    cxm11阅读 6,456评论 2 39
  • 对于handler,我想我就不用废话了,开发必不可少,面试必定会问,可真的能够对handler深入掌握么?又能在面...
    葛糖糖阅读 1,281评论 5 5