Android中的Handler机制

来源:互联网 发布:广州cnc编程招聘 编辑:程序博客网 时间:2024/06/06 09:18

使用消息机制目的
   Android系统的主线程安全的系统,别的线程不可以修改ui线程的界面。
   如果子线程里面想去更新ui,必须采用消息机制处理

如何使用消息处理器
  1. 在主线程里面声明handler
            private  Handlerhandler = new Handler(){} ;
  2. 子线程想去更新ui,利用消息机制
            Messagemsg = new Message();
            msg.what消息类型
            msg.obj具体消息携带的数据
            handler.sendMessage(msg);
  3. 系统内部有消息队列和looper,轮询到消息,交给handler去处理
  4. 重写handler的方法处理消息
            publicvoid handleMessage(Message msg) {
                //运行在主线程,更新ui
            }


* Handler机制的原理

1)Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。 2)Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper从Message Queue取出)所送来的消息。 
3) Message Queue(消息队列):用来存放线程放入的消息。 4)线程:UI thread 通常就是main thread,而Android启动程序时会替它建立一个Message Queue。


1 0
原创粉丝点击