今天学习android的消息传递机制,一直都在面试招聘的网站上面看到,其中要求的专业技能是掌握熟悉android的消息传递机制,今天就特别的把android的消息传递机制的相关理论知识,研究一下,等接下来的时候完善android实际的操作代码
关于android消息传递机制的核心类有:
HandlerThread,这个是用于启动消息管道Looper的线程
Looper 用于管理消息队列MessageQueue的对象
MessageQueue 数据的管道(用于传输消息)
Handler 接受和处理消息
其中小结起来就是:
HandlerThread启动Looper 对象,Looper 在调用成员函数perporer()对象建立MessageQueue对象,在调用looper()对象,不断的循环读取队列消息(如果有消息,那么调用Handler进行处理)。
这样,完整的消息调用的机制就展现到我们的眼前了。。。。
其中,在学习其他大牛们的关于消息机制的分析上面,有一些注意的地方:
1.更新UI视图的操作,必须在MAIN线程中进行,如果在其他子线程进行的话,会报错
2.注意线程之间的消息传递和主线程和子线程的消息传递
3.AsyncTask对象的使用(线程池处理消息机制)
这两个是关于android消息机制的很好的帖子:
http://blog.csdn.net/thl789/article/details/6601558
http://www.cnblogs.com/-OYK/archive/2011/08/03/2126657.html