您的位置:首页 > 其它

关于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对象,所以不需要再创建。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: