小弟初学handler有个疑问 handler是用来解决异步消息处理问题 可是 java 线程不就是异步的吗?为什么不用线程 当然handler是间接使用了线程 但是 我不明白它为什么不直接使用呢?费这么大劲造这个东西干嘛? 小弟不懂望大大们赐教 谢谢

解决方案 »

  1.   

    Handler解决的不是线程异步的问题,是解决线程更新同步UI的问题.
     1.子线程不能直接操作UI(UI属于主线程,从Activity通过new Thread()启动的线程是子线程)
     2.Handler管理了操作UI队列管理问题
      

  2.   

    简单说吧 ,就是为了 就是为了 thread处理一些占用内存的东西,然后传送消息 继续处理,不用“傻”等待在那里
      

  3.   

    实现一种事件驱动机制。类似于WINDOWS的onMessage(msgId, lParam, mParam). 可试想一下,当用户触摸到屏幕会产生一个触摸消息,然后通过驱动传递到当前的进程,进程处理时就是使用这个HANDLER的。HANDLER是消息处理句柄对象,还有个MessageQueue才是消息队列对象。