looper存在的意义是什么。。。
通过老师的图解终于把handler和looper的关系搞明白了,但是现在又有疑问了,为什么要一个looper,looper存在的意义是什么?
通过老师的图解终于把handler和looper的关系搞明白了,但是现在又有疑问了,为什么要一个looper,looper存在的意义是什么?
2016-03-22
Android系统的消息队列和消息循环都是针对具体线程的,一个线程可以存在(当然也可以不存在)一个消息队列 和一个消息循环(Looper),特定线程的消息只能分发给本线程,不能进行跨线程,跨进程通讯。但是创建的工作线程默认是没有消息循环和消息队列的,如果想让该线程具有消息队列和消息循环,需要在线程中首先调用Looper.prepare()来创建消息队列,然后调用Looper.loop()进入消息循环。
一个Message经由Handler的发送,MessageQueue的入队,Looper的抽取,又再一次地回到Handler的怀抱中。而绕的这一圈,也正好帮助我们将同步操作变成了异步操作。
---------以上答案 摘自网上------------
在此情况下,如果没有Looper,Handler只发送消息,没有回传,就不能执行到handleMessage()方法,所以还是不能处理消息,更新UI等。
举报