美文网首页
handler post 线程

handler post 线程

作者: couriravant | 来源:发表于2019-12-30 13:55 被阅读0次

在子线程中得到UI线程的handler对象

了解handler机制的小伙伴都知道,handler对象是哪个线程的它的post方法参数Runnable的run方法就执行在哪个线程(源码里直接调用了run方法)。所以我们要是可以在子线程中得到UI线程的handler对象就可以更方便的实现线程间的通信。示例代码如下:

new Thread(new Runnable() {
     @Override
     public void run() {
         Handler handler = new Handler(Looper.getMainLooper());//得到UI线程中的handler对象
         handler.post(new Runnable() {
            @Override
             public void run() {
                //这儿写逻辑代码
             }
         });
     }
 }).start();

注:使用这种方法可以轻松的从子线程跳转到UI线程,完全不依赖于Activity或Application。图片加载框架Picasso,网络请求控件Volley都是通过这种方法实现更新UI的。

在主线程中得到子线程的handler对象

// 1. 创建 HandlerThread 并准备 Looper
handlerThread = new HandlerThread("myHandlerThread");
handlerThread.start();

// 2. 创建 Handler 并绑定 handlerThread 的 Looper
new Handler(handlerThread.getLooper()).post(new Runnable() {
    @Override 
    public void run() {
          // 注意:Handler 绑定了子线程的 Looper,这个方法也会运行在子线程,不可以更新 UI
          MLog.i("Handler in " + Thread.currentThread().getName());
    }
});

也就是说,handler跟哪个线程的looper绑定了,post中Runnable的run方法就会在哪个线程执行。

相关文章

  • Android Handler机制

    handler线程安全的 handler怎么用 post(Runnable) postDelayed(Runnab...

  • handler post 线程

    在子线程中得到UI线程的handler对象 了解handler机制的小伙伴都知道,handler对象是哪个线程的它...

  • Handler内存泄漏再探索

    情景 使用主线程单例Handler的post(),想要实现全局都可以往主线程post代码。 在post()中传入了...

  • 2018-04-16 post(runnable) 运行在哪个线

    handler post(Runable)运行在哪个线程 看下源码就很清楚了,view.post(Runnable...

  • 安卓知识理解汇总

    跨进程通讯 线程通信 共享变量(内存)2.handler3.view.post(runnable) (主线程在Vi...

  • Handler post方法与用法

    1. 先看用法1之主线程中使用: new Handler().post(new Runnable() { ...

  • View#post和Handler#post

    注:本文提到的调用Handler#post,其Handler对象都指的是用UI主线程的Looper创建的Handl...

  • 2018-07-11

    Handler机制实现线程间通信 如何实现通过send或post方法将message提交到当前handle所在线程...

  • Android开发的几个小技巧

    1.使用Handler在子线程更新UI:有一部分刚入门的童鞋会认为handler的post(Runnable r)...

  • Handler源码分析

    关于线程之间发送消息,有很多种方法,如RunonUiThread,handler的post方法,AsyncTask...

网友评论

      本文标题:handler post 线程

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