美文网首页
初识handler

初识handler

作者: dev晴天 | 来源:发表于2018-08-11 18:49 被阅读0次
    8 .1handler原理图.png
    1 主线程概念只要你不在代码中开启子线程 都为主线程
    
    2  主线程已有  Looper类就有了:
    (看源码可以发现内部有消息队列final MessageQueue mQueue;
      
     继续看:不停地监视取出消息
      for (;;) {
     Message msg = queue.next();//取出消息
    
      msg.target.dispatchMessage(msg);//Message有个target属性去Message中查看发现target为一个handler
    
    dispatchMessage(msg)此方法为handler的进去查看
        /**
         * Handle system messages here.
         */
        public void dispatchMessage(Message msg) {
            if (msg.callback != null) {
                handleCallback(msg);
            } else {
                if (mCallback != null) {
                    if (mCallback.handleMessage(msg)) {
                        return;
                    }
                }
                handleMessage(msg);//此方法为主要方法 处理消息
            }
        }
    
    
    }
               
    
    
    )
    

    相关文章

      网友评论

          本文标题:初识handler

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