1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > Hanlder Looper MessageQueue Message

Hanlder Looper MessageQueue Message

时间:2019-05-12 18:27:23

相关推荐

Hanlder Looper MessageQueue Message

Handler:处理消息

Message:消息

MessageQueue:消息队列

Looper:MessageQueue的管理者

MessageQueue:

消息队列。以先进先出的原则存放多个Message.MessageQueue是通过Handler进行管理,通过Looper.Prepare()创建Looper的同时会自动创建MessageQueue对象.UI主线程默认会创建Looper,其他线程需要手动创建.通过Looper. Prepare()和Looper. Looper.loop(),对MessageQueue进行循环处理。

Message:

消息对象。newMessage().obtain()得到Message,如果Message Pool中已经有Message对象则总Pool获取,没有则创建一个新的Message对象。也可以同过new Message()创建一个新的对象。

Looper:

Looper是MessageQueue的管理者,创建Looper对象就会创建MessageQueue,MessageQueu脱离不了Looper.除了UI主线程会创建一个默认的Looper,其他线程都要通过Looper.prepare()方法创建。Looper遵循先进先出的原则,循环从MessageQueue中读取Message。

Looper从MessageQueue中取出消息后交给Handler().handleMessage(msg)处理,处理完成调用Message().recycle() 放入到Message Pool中.

Handler:

负责处理消息。Handler将消息封装成Message,通过newMessage().obtainMessage()创建一个Message,也可以通过Message message = new Message()创建消息。Handler().obtainMessage()方法如果Message Pool中已经有Message对象,则直接调用该对象,不用每次创建一个对象

。将消息传递给Looper,调用Handler().sendMessage(msg)时,Looper将Message加入到MessageQueue.继而Looper通过广播的形式将消息发送出去,Hanlder通过Handler().obtainMessage()方法接受到消息,做相应处理.

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。