为了账号安全,请及时绑定邮箱和手机立即绑定

looper存在的意义是什么。。。

通过老师的图解终于把handler和looper的关系搞明白了,但是现在又有疑问了,为什么要一个looper,looper存在的意义是什么?

正在回答

1 回答

Android系统的消息队列和消息循环都是针对具体线程的,一个线程可以存在(当然也可以不存在)一个消息队列 和一个消息循环(Looper),特定线程的消息只能分发给本线程,不能进行跨线程,跨进程通讯。但是创建的工作线程默认是没有消息循环和消息队列的,如果想让该线程具有消息队列和消息循环,需要在线程中首先调用Looper.prepare()来创建消息队列,然后调用Looper.loop()进入消息循环。


一个Message经由Handler的发送,MessageQueue的入队,Looper的抽取,又再一次地回到Handler的怀抱中。而绕的这一圈,也正好帮助我们将同步操作变成了异步操作。

---------以上答案 摘自网上------------

在此情况下,如果没有Looper,Handler只发送消息,没有回传,就不能执行到handleMessage()方法,所以还是不能处理消息,更新UI等。

2 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Android面试常客Handler详解
  • 参与学习       54881    人
  • 解答问题       183    个

学Android开发,必学Handler,也是Android面试常客

进入课程

looper存在的意义是什么。。。

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信