android handler

  1. handler提供异步处理的功能,发送和接收不是同时进行的java

  2. handler是android操做系统的线程通信工具android

  3. 做用:(1)安排消息或runable 在主线程中某个地方执行(2)安排一个动做在另一个线程中执行异步

  4. 维护两个队列:(1)消息队列:发送、接受、处理消息    (2)Runable队列:启动、结束、休眠线程工具

  5. 使用的步骤:(1)建立handler对象 (2)建立runable 和消息 (3)调用post或sendMessage方法将runable和消息添加到队列。oop

一.关于runable队列(android 线程异步处理机制  post()---------------)post

  1. handler维护一个线程队列,当向队列发送一个runable后,马上返回,并不理会runable是否被执行        ui

    方法:spa

     1.mHandler.post(Runable) 直接加入到线程队列操作系统

     2.mHandler. postDelayed(Runable,long); 延迟一段时间,将runable 加入队列线程

     3.mHandler.postAtTime(Runable,long) 定时加入线程队列

      4.mHandler.removeCallback (Runable) 

2、消息队列   (anddroid 消息异步处理机制  sendMessage()  -------------- handlerMessage())                    

    1.初始化   Message msg = mHandler.obtainMessage();     消息对象

    2.加入数据 msg.setData(Bundle bundle)     Bundle对象

    3.取出数据 msg.getData()

     发送到消息队列方法  

            1.mHandler.sendMessage(Message)

            2.msg.sendToTarget();

            3.mHandler.sendMessageDelayed(Message,long)

            4.mHandler.senMessageAtTime(Message,long)

     处理消息的的方法

 Hander mHandler = new Handler(){
        
        public void handleMessage(Message msg){
        }
 };

 3、handler的两个做用

  1. 安排消息或runnable 在某个主线程中某个地方执行 

     

    1. Handler mHandler = new Handler();
      mHandler.post(new Runnable{});

 2.安排一个动做在另一个线程中执行

new Thread{
            public void run{
            mHandle.post(new Runnable);
            }
}

 4、Looper

       1.   Looper实际上就是消息队列+消息循环

       2.,Handler能够看作是Looper的接口,用来向指定的Looper发送消息以及定义处理方法。默认状况下Handler会与其所在线程的Looper绑定

       方法:

              1.  Looper.prepare();启用looper

                2.Looper.loop() 让looper开始工做

                3.mHandler.getLooper().quit() 中止looper

   3.Handler异步的实现

      Handler是经过HandlerThread 使得子线程与主线程分属不一样线程的。实际上,HandlerThread 是一个特殊的线程,它是一个封装好Looper的线程

      这样,就实现了handler的异步处理机制,在调用handler.post()方法,经过打印线程ID能够得知,子线程与主线程是分属不一样线程的

      

            

   参考文章  :

http://mobile.51cto.com/abased375243.htm                                                                                                                                                                                                                                                                                     

相关文章
相关标签/搜索