没看懂looper有什么用
来源:5-1 课程总结
夏析
2017-11-11 15:53:00
looper.prepare
looper.loop
有什么用呢
不是消息只需要 handler就行了吗?
还有消息队列 这块也没看到 怎么实现
1回答
irista23
2017-11-12
一个Handler对应一个Looper对象,一个Looper对应一个MessageQueue对象。Loope需要循环处理MessageQueue中的Message,这个过程需要放到子线程中操作。Message是有一个消息池(全局池)的机制,消息要入池,也就是这个消息被回收到池中,一般来说,只有这个消息完成了它的使命,系统才能把它回收到全局池中,等待复用。线程在默认情况下是没有消息循环与之关联的,Thread类在run()方法中的内容执行完之后就退出了,即线程做完自己的工作之后就结束了,没有循环的概念。调用Looper类的 prepare() 方法可以为当前线程创建一个消息循环,调用loop() 方法使之处理信息,直到循环结束。
相似问题