关于handler机制的一点见解
2015-03-19 11:13
211 查看
当Handler接收到Message时,会先去查找Looper对象,而Looper对象会创建一个MessageQueue并且管理它。
这条接收到的Message会放入Looper的MessageQueue中,Looper通过不断的轮询,当获取到Message时,会将该消息转发回Handler,然后Handler通过handleMessage方法来对该消息进行处理。
因为android中的UI线程不是线程安全的,所以Google强制让UI线程变成单线程模型,而其他线程无法直接操作UI。所以Handler是用于其他线程来通知UI线程进行界面更新的,因为是单线程,所以需要消息轮询来对消息队列进行处理。ActivityThread中默认已经创建了Looper对象,所以不需要再创建。
这条接收到的Message会放入Looper的MessageQueue中,Looper通过不断的轮询,当获取到Message时,会将该消息转发回Handler,然后Handler通过handleMessage方法来对该消息进行处理。
因为android中的UI线程不是线程安全的,所以Google强制让UI线程变成单线程模型,而其他线程无法直接操作UI。所以Handler是用于其他线程来通知UI线程进行界面更新的,因为是单线程,所以需要消息轮询来对消息队列进行处理。ActivityThread中默认已经创建了Looper对象,所以不需要再创建。
相关文章推荐
- 关于对网络学习方法的一点见解
- 关于自己对IMediaControl::Run()返回S_FALSE的一点见解
- 关于开发效率的一点见解
- 关于驱动的一点个人见解
- 关于乱码的一点见解
- 关于翻译的一点见解。
- 关于编写程序的一点见解
- 关于如何做自动化测试和何时做自动化测试的一点见解和疑问
- 关于Flex Builder调试的一点见解
- 关于Flex Builder调试的一点见解
- 关于对网络学习方法的一点见解
- 关于项目类库的重构和函数名的一点见解
- ASP.NET 中 关于Request 和Session 的一点个人见解
- 关于开发效率的一点见解
- 关于对网络学习方法的一点见解
- 关于servlet2.5中自定义标签开发的一点见解
- 关于大型页游后端管理系统的一点经验和个人见解
- 关于对网络学习方法的一点见解
- 关于大型页游后端管理系统的一点经验和个人见解
- 关于网站建设我个人的一点见解