码迷,mamicode.com
首页 > 其他好文 > 详细

Message、Handler、Message Queue、Looper、Thread之间的关系(未完成)

时间:2015-07-19 06:43:02      阅读:247      评论:0      收藏:0      [点我收藏+]

标签:message、handler、message queue、looper、thread

1. 请解释下在单线程模型中Message、Handler、Message Queue、Looper、Thread之间的关系

2. 什么是IntentService?有何优点?

    1) 它是对单线程消息模型的封装

    2)IntentService使用队列的方式将请求的Intent加入队列,然后开启一个worker thread(线程)来处理队列中的Intent,对于异步的startService请求,IntentService会处理完成一个之后再处理第二个,每一个请求都会在一个单独的worker thread中处理,不会阻塞应用程序的主线程,这里就给我们提供了一个思路,如果有耗时的操作与其在Service里面开启新线程还不如使用IntentService来处理耗时操作。

3. Main线程机制(单线程消息处理模型)

创建、更新UI、用户输入事件(User Input Event)处理

 

分析ANR机制的实现原理,有哪些对象

1) Thread

2) MessageQueue   容器保存事件   FIFO

3) Looper                监控Main线程是否空闲,同时监控事件队列中如果有事件,

                                      将事件交给main线程处理

4) Message

5) Handler

技术分享 

 

4. 模拟Main线程实现单线程消息处理模型

1) 查看Looper类的文档,创建Thread、Looper、MessageQueue和Handler对象

    技术分享

2) 在Activity的onCreate()方法中启动线程

    技术分享

3) 在按钮点击事件中从Main线程向自定义线程发送消息

    技术分享


Message、Handler、Message Queue、Looper、Thread之间的关系(未完成)

标签:message、handler、message queue、looper、thread

原文地址:http://1137907860.blog.51cto.com/10452906/1675976

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!