[Android开发从零开始].18.消息处理详解.docxVIP

  • 2
  • 0
  • 约 8页
  • 2016-11-21 发布于重庆
  • 举报

[Android开发从零开始].18.消息处理详解.docx

[Android开发从零开始].18.消息处理详解

消息处理详解 一、为什么需要消息处理? 线程之间的交互就需要涉及到消息。 二、MessageQueue 三、Message 解说: 消息池: 消息池是Android系统默认在应用程序中创建一个消息池。消息池默认是初始化10条消息在池子里面。当通过Message.obtain()与Handler.obtainMessage()方法时,会首先到消息池中有不有可用的Message,如果有,则将Message对象取出来,而不用new一个Message对象。 如果没有可用的Message,才用指定的参数创建一个Message对象。 Android系统会自动调用removeMessage()方法,会将Message从MessageQueue中删除,同时放入到消息不池中。 消息队列删除消息——放入消息池——使用消息。 四、Looper 创建Looper时,同时会创建一个MessageQueue,Looper是用来操作消息队列的。 一个Loper对应的是一个MessageQueue,是一对一的关系,通过Loper.myLoper()方法可以获取当前线程的Loper对象,Loper从MessageQueue中取出Message,然后交给Handler的handlerMessage()这样一个方法进行处理,处理完毕之后,会调用Message.recycle()方法,将这个Message释放到消息池

文档评论(0)

1亿VIP精品文档

相关文档