IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    [原]Handler处理消息的顺序

    grumoon发表于 2014-08-02 18:56:28
    love 0

    public void dispatchMessage(Message msg) {
    	//首先是Message的callback
    	if (msg.callback != null) {
    		handleCallback(msg);
    	} else {
    		//然后是handler本身的的callback
    		if (mCallback != null) {
    			if (mCallback.handleMessage(msg)) {
    				return;
    			}
    		}
    		//最后是handler本身的的handleMessage
    		handleMessage(msg);
    	}
    }


    调用的优先级
    1.Message的callback(其实是个Runnable对象),handleCallback(msg)其实是调用msg.callback.run()
    2.Handler的callback
    3.Handler的handleMessage方法(子类须重写)



沪ICP备19023445号-2号
友情链接