出于性能优化考虑:Android的UI操作并不是线程安全的,这意味着如果有多个线程并发操作UI组件,则可能导致线程安全问题~比如ANR异常,为了解决这个问题,Android制订了一个简单的规则,只允许UI线程(主线程)修改Android里面的UI组件。

Handler类主要有两个作用:

1.在新启动的线程中发送消息。

2.在主线程中获取,处理消息。

为了更好理解Handler的工作原理,下面介绍一下与Handler一起工作的几个组件。

MessageQueue:由Looper负责管理,它采用先进先出的方式来管理Message。

Looper:每个线程只有一个Looper,它负责管理MessageQueue,会不断地从MessageQueue中取出消息,并将消息分给对应的Handler处理。

Handler:它能把消息发给Looper管理的MessageQueue,并负责处理Looper分给它的消息。

 

posted on 2015-08-07 15:39  南巷挽清风  阅读(130)  评论(0编辑  收藏  举报