android handler 机制

来源:互联网 发布:java 国际化资源文件 编辑:程序博客网 时间:2024/06/05 20:28

首先要理解handler机制,我们必须要熟悉这么几个概念:

Handler:从Thread中的Looper对象管理的MessageQuene数据结构中不断的提取消息,进行处理

Message:他是消息载体,就是子线程发往主线程的消息数据

MessageQuene:他是一种数据结构,采用队列的数据结构,先进先出,子线程在调用sendMessage()之后会,Looper会把这个消息放在自己管理的MessageQuene中,等待

                                 Handler进行处理。

Looper:每一个线程都可以有一个Looper对象,用来管理MessageQuene队列

Thread: 你懂得


大家都知道,android 是不允许程序员在子线程中直接更新UI的,这是google工程师出于线程安全的考虑。那怎么动态的更新UI呢?

今天我们就来研究google工程师为你精心打造的handler机制:


   由于android 的主线程在5s之后还没有响应的话会报ANR警告,所以在主线程(UI线程)中做一些耗时的操作是不行的,必须转在子线程中进行耗时的工作,然后将结果通知给主线程,更新UI显示给用户看。那么子线程如何将结果告知主线程呢?没什么说的:业界标准---handler






0 0
原创粉丝点击