android handler 机制

首先要理解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






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值