博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
android handler概念解释
阅读量:6790 次
发布时间:2019-06-26

本文共 962 字,大约阅读时间需要 3 分钟。

本文来自:

本文是翻译了SDK中handle类的概述部分。推荐大家尽量多看SDK英文版。

handler类允许你发送消息和处理线程消息队列中的消息及runnable对象。handler实例都是与一个线程和该线程的消息队列一起使用,一旦创建了一个新的handler实例,系统就把该实例与一个线程和该线程的消息队列捆绑起来,这将可以发送消息和runnable对象给该消息队列,并在消息队列出口处处理它们。
handler类有两种主要用途:1。按照时间计划,在未来某时刻,对处理一个消息或执行某个runnable实例。2。把一个对另外线程对象的操作请求放入消息队列中,从而避免线程间冲突。
时间类消息通过如下方法使用: post(Runnable), postAtTime(Runnable, long), postDelayed(Runnable, long), sendEmptyMessage(int), sendMessage(Message), sendMessageAtTime(Message, long), and sendMessageDelayed(Message, long)
methods. post之类函数可以传输一个runnable对象给消息队列,并在到达消息队列后被调用。sendmessage之类函数可以传送一个包含数据的message对象,该message对象可以被Handler类的handleMessage(Message) 方法所处理。
post之类函数和sendmessage之类的函数都可以指定消息的执行时机,是立即执行、稍后一段时间执行,还是在某个确定时刻执行。这可以用来实现超时、消息或其他时间相关的操作。
当一个进程启动时,主线程独立执行一个消息队列,该队列管理着应用顶层的对象(如:activities、broadcast receivers等等)和所有创建的窗口。你可以创建自己的一个线程,并通过handler来与主线程进行通信。这可以通过在新的线程中调用主线程的handler的post和sendmessage操作来实现。

原文地址:

转载于:https://www.cnblogs.com/yyq-quan/archive/2011/08/01/2124080.html

你可能感兴趣的文章
100-98
查看>>
Innodb中的事务隔离级别和锁的关系
查看>>
算法:请找出数组中的某个数,它的左侧数字相加之和等于右边。
查看>>
vi / vim文档编辑器画图详解
查看>>
Oracle基本语句实例代码介绍
查看>>
excel表数据导入到mysql数据库中(自己做的练习保留)
查看>>
bash 函数使用,实现模块化编程
查看>>
LVS实现负载均衡
查看>>
LAMP架构下安装Discuz!论坛
查看>>
shell
查看>>
正则表达式
查看>>
我的友情链接
查看>>
spring MVC的第一次记录
查看>>
js获取 X-X-X N 天后 是 X年X月X日
查看>>
我的友情链接
查看>>
神奇的504 Bad Gateway Timeout
查看>>
mysql安装报错解决一例
查看>>
在服务器上排除问题的头五分钟
查看>>
安装 - FreeBSD + Nginx 环境搭建教程(推荐)
查看>>
学习cocos2d --- 场景创建
查看>>