网络编程

2 、Handler消息机制

.MessageQueue

MessageQueue是消息队列的意思,它主要用来存放通过 Handler发送的消息。通过 HandlerMessageQueue发送的消息会存在中等待处理。它是一个按 Message的when排序的优先级队列。(when:代表着被处理的时间

.Looper

LooperMessageQueue是每个线程中的的管家。调用 Looper的loop(方法后,就会进入到一个无线循环中然后一发现 MessageQueue中存在一条消息,就会将它取出,并传递到 HandlerHandle的方法中
Handler

Handler主要用于发送消息和处理消息一般使用对象的 sendMessage(方法发送消息,消息经过一系列处理后,最终会传递到

HandlerhandlerMessage方法中发送即时消息: sendMessageMessage msg

发送延时消息: sendMessageDelayedMessage msg. long time)处理消息 handleMessageMessage msg回调方法移除还未处理的消息: removeMessagesint what)

2、AsyncTask

为了方便子线程中对U进行操作, Android提供了一些好用的工具类到主线程,它的原理也是基于异步消息处理机制的AsyncTaskAsyncTask就是其中之一。借助,可以十分简单地从子线程切换
AsyncTask是一个抽象类,它有三个泛型参数,分别如下所示:
Params:执行异步任务时需要传入的参数,用于后合任务中使用
Progress后台任务执行时,如果需要在界面上显示当前的进度,则使用该参数作为进度单位
Result:当任务执行完毕后,如果需要对结果进行返回时,则使用该参数作为返回值类型

上一篇:没想到一个Handler还有中高级几种问法,附面试题答案


下一篇:Android第十章