android handler1--消息队列概念

定义和作用(官方术语)

Android提供的一套消息传递机制。
用于实现子线程对UI线程的更新,实现异步消息的处理:
在新启动的线程中发送消息
在主线程中获取并处理信息

简单的说就是:

主线程不能有耗时操作(例如 睡眠sleep 5s,向服务器请求接口(网络不好的情况下5s钟都没有请求完)),所以用子线程做这些操作,但是子线程不能更新UI,所以就有了Handler Looper Message Queue

通过下图可以清晰显示出UI Thread, Worker Thread, Handler, Massage Queue, Looper之间的关系:

looper 无限循环的取消息
handler.sendMessage(msg); 在子线程发消息

new Thread(new Runnable(){
@overrid
public void run(){
handler.sendMessage(msg);
}
}).start(); 

handlerMessage()方法接收消息

Handler  handler = new Handler(){
@overrid
public void handlerMessage(Message msg ){
    StringBuffer text = new StringBuffer();
            switch (msg.what) {
                case 1:
                    text.append("I love Carson_Ho");
                    show.setText(text);
                    break;
                case 2:
                    text.append("I hate Carson_Ho");
                    show.setText(text);
                    break;

            }
}
};

这里写图片描述

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_26296197/article/details/81334136