关于handler机制的一点见解

来源:互联网 发布:aws s3 java 开发文档 编辑:程序博客网 时间:2024/05/16 07:14
使用Handler时,先从发送一条Message开始分析。
当Handler接收到Message时,会先创建一个Looper对象,而Looper对象会创建一个MessageQueue并且管理它。
这条接收到的Message会放入Looper的MessageQueue中,Looper通过不断的轮询,当获取到Message时,会将该消息转发回Handler,然后Handler通过handleMessage方法来对该消息进行处理。

因为android中的UI线程不是线程安全的,所以Google强制让UI线程变成单线程模型,而其他线程无法直接操作UI。所以Handler是用于其他线程来通知UI线程进行界面更新的,因为是单线程,所以需要消息轮询来对消息队列进行处理。ActivityThread中默认已经创建了Looper对象,所以不需要再创建。
0 0
原创粉丝点击