新手Android学习笔记 07——认识Handler

来源:互联网 发布:熊猫安全软件 编辑:程序博客网 时间:2024/05/22 01:37
Handler主要接受子线程发送的数据, 并用此数据配合主线程更新UI。

解释:当应用程序启动时,Android首先会开启一个主线程 (UI线程) , 主线程管理UI控件, 进行事件分发, 比如说, 你要是点击一个 Button ,Android会分发事件到Button上,来响应你的操作。 如果此时需要一个耗时的操作,例如: 联网读取数据, 或者读取本地较大的一个文件的时候,不能把这些操作放在主线程中。因此要把耗时操作放在子线程中,因为子线程涉及到UI更新,,Android主线程是线程不安全的, 也就是说,更新UI只能在主线程中更新而不能在子线程。此时需要用Handler来解决这个问题 ,由于Handler运行在主线程中(UI线程中), 它与子线程可以通过Message对象来传递数据。因此Handler负责接收子线程传过来的(子线程用sedMessage()方法传递)Message对象(里面包含数据) , 把这些消息放入主线程队列中,配合主线程进行更新UI

用法:子类需要继承Hendler类,并重写handleMessage(Message msg) 方法, 用于接受线程数据。

当创建一个新的Handler实例时, 它会绑定到当前线程和消息的队列中,开始分发数据
Handler有两个作用, (1)  定时执行Message和Runnalbe 对象 

        (2) 让一个动作在不同的线程中执行。

0 0
原创粉丝点击