美文网首页
子线程转化到Ui主线程

子线程转化到Ui主线程

作者: 晓晓桑 | 来源:发表于2019-03-15 13:19 被阅读0次

通过private Handler handler = new Handler(Looper.getMainLooper());

在子线程中调用:

  handler.post(new Runnable() {

                   @Override
                   public void run() {

                   }
               });

具体例子:

public class BitmapDispatcger extends Thread {

    private BlockingQueue<BitmapRequest> requests;

    private Handler handler = new Handler(Looper.getMainLooper());

    public BitmapDispatcger(BlockingQueue<BitmapRequest> requests) {
        this.requests = requests;
    }

    @Override
    public void run() {
        //子线程
        while (!isInterrupted()) {
            //取出任务,如果队列中没有任务就会一直阻塞在这里,不往下进行
            try {
                BitmapRequest request = requests.take();
                //先展示loading

                showLoadingImage(request);


            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    }


    private void showLoadingImage(BitmapRequest request) {
        if (request.getLoadingResId() > 0) {
            final ImageView imageView = request.getImageView();
            final int redId = request.getLoadingResId();
            if (imageView != null) {
                //子线程调用主线程
                handler.post(new Runnable() {

                    @Override
                    public void run() {
                        //更新ui
                        imageView.setImageResource(redId);
                    }
                });

            }
        }
    }
}

相关文章

  • 子线程转化到Ui主线程

    通过private Handler handler = new Handler(Looper.getMainLoo...

  • android主线程和子线程之间的消息传递

    转自落叶潇潇雨的博客 从主线程发送消息到工作线程(子线程) 从非UI线程传递消息到UI线程(界面主线程),因为主界...

  • 理解JS 线程,和Android线程

    1,Android开发都知道,UI线程,和子线程; UI线程:可以操作ui界面, 子线程:不可以操作ui界面 2,...

  • Android Handler 笔记

    Handler 发送(延时)/接收/处理消息 1.UI线程更新 2.主/子线程通信 主要的几个类...

  • Handler

    Handler机制: 是一个消息传递机制,作用是将子线程需要的UI操作,传递到UI线程执行,保证线程安全。 相关类...

  • Android Handler

    Hander机制,将子线程需要更新UI操作信息传递到主线程,从而实现UI更新。 基本写法: ``` Handler...

  • 线程通讯详解

    关于子线程能否更新UI的思考线程通讯详解线程池-多线程的高效使用姿势 上文我们说到了关于子线程中能否更新UI的问题...

  • Android 的线程和线程池

    Android 的线程分为主线程和子线程。 主线程更新 UI 子线程执行耗时操作 AsyncTask封装了线程池和...

  • Handler机制的初步了解

    定义:一种消息传递机制 作用:多线程并发工作时,工作线程(子线程)将UI更新的额消息发送到主线程,实现子线程对UI...

  • 多线程总结

    关于多线程 (一).多线程主线程:显示/刷新UI界面,处理UI事件子线程:处理耗时操作 例如网络访问[图片上传失...

网友评论

      本文标题:子线程转化到Ui主线程

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