安卓开发使用锦集程序员Android技术知识

Handler的源码注释&三分钟了解Handler的消息

2017-03-22  本文已影响262人  MiHomes

让我们一起来看看Handler的官方注释吧~

一.什么是Handler?

二.Handler有什么用?

三.Handler该怎么用?

注:若有意的同志在查看Handler的源代码分析时,可了解以下几点:
Handler中的Message是分2种类型的,一种是DataMessage,也就是Message对象;另一种是CallbackMessage,就是Runnable对象,但是MessageQueue中只支持DataMessage,再插入到MessageQueue的时候,会把Runnable对象封装到一个Message对象中.

即:当前版本允许你通过消息队列接受一个Runnable对象,sendMessage方法当前的版本允许你将一个包的数据通过消息队列的方式处理,但是你需要重写Handler的handleMessage方法.

即:当你发送一个Handler时,你可以使消息队列(MessageQueue)尽快去处理已经准备好的条目,或者指定一个延迟处理的时间或者指定时间处理.后两个允许您实现超时,Ticks(系统相对的时间单位)和其他时间段为基础的行为.

即:当一个进程被应用程序创建时,它的主线程会运行一个消息队列负责管理它创建的高层应用程序对象(如activitie, broadcast receiver等)和任何它的窗口创建的对象.你可以通过一个Handler,创建自己的线程来实现与主线程之间的交互.但前提是你得在你的线程重写sendMessage方法并写上一行行代码你给定的Runnable或者Message将被MessageQueue(消息队列)预定,并在合适的时间~~~你懂得.

完整注释篇如下:

/**

Handler的消息传递机制.png

末尾:移动互联&人力资源交流群,可加微信zy666128入群交流。


image.png
上一篇 下一篇

猜你喜欢

热点阅读