继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Androidの消息机制

当年话下
关注TA
已关注
手记 124
粉丝 14
获赞 50

Android 消息机制

   .概念

 

      Android消息机制主要指的是Handler运行机制以及MessageQueue/Looper的工作过程。

   .对象

  

     Android的消息机制涉及到以下对象: Handler 、 MessageQueue 、 Looper

 

     .Handler(发送与接收)

       Handler的主要功能是实现消息的发送与接收处理。

       1)Handler通过send或者post来发送一条消息

       2)Handler通过handleMessage方法来接收并处理一条消息

        所以Handler是消息的发端与终端

     .MessageQueue(消息队列)

 

       MessageQueue是用于保存消息的队列,主要包含两个操作:插入与读取,读取本身附带着删除操作。

       1)通过enqueueMessage来向消息队列插入一条消息

       2)通过next从消息队列中取出一条消息,并从队列中移除

       MessageQueue是单链表的数据结构,在插入以及删除操作上比较有优势

     .Looper(消息循环)

           Looper在消息机制中扮演着消息循环的角色,它会不停的从MessageQueue中查看是否有新消息,如果有新消息就会立即处 理,否则就一直           堵塞在那里。

       1)Looper.prepare()为当前线程创建一个Looper 

       2) Looper.loop()开启消息循环

       3) Looper是个死循环,终止消息循环需要quit或quitSafely方法

       4)quit调用之后会直接退出,quitSafely会把队列中的已有消息处理完成之后才会安全退出

     .过程

 

        Handler通过send或post发送一条消息到MessageQueue,如果消息队列中没有消息,next方法会一直堵塞在那里。当有新 消息来时,            next会返回这条消息并移除队列。Looper接收到next的返回之后将消息交给Handler的handleMessage来处理。

原文链接:http://www.apkbus.com/blog-192385-60304.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP