标签: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