Android类参考---Looper
来源:互联网 发布:java守护线程有什么用 编辑:程序博客网 时间:2024/05/15 23:50
1. 继承关系
java.lang.Object
|____android.os.Looper
2. 类概要
这个类被用来给线程返回一个消息循环。默认情况下,没有跟线程相关联的消息循环;在线程中调用prepare()方法会运行这个循环,并且loop()方法会一直处理消息,直到循环被终止。
跟消息循环的大多数交互是通过Handler类来完成的。
以下是消息循环线程实现的典型的例子,它使用prepare()和loop()方法把用于跟Looper通信的初始Handler对象的创建过程夹在中间:
classLooperThread extendsThread {
publicHandler mHandler;
publicvoid run() {
Looper.prepare();
mHandler =new Handler(){
publicvoid handleMessage(Message msg){
// process incoming messages here
}
};
Looper.loop();
}
}
3. 类说明
Public方法
void
dump(Printer pw, String prefix)
synchronized static Looper
getMainLooper()
返回应用程序的主循环,应用程序就生活在这个主线程中。
Thread
getThread()
返回跟这个消息循环关联的线程。
static void
loop()
运行线程中的消息队列。必须确保调用quit()方法来结束循环。
static Looper
myLooper()
返回跟当前线程相关联的Looper对象。如果线程与一个Looper对象相关联,那么就返回null。
static MessageQueue
myQueue()
返回跟当前线程向关联的MessageQueue对象。这个队列必须线程正在运行的Looper对象所调用的队列,如果有异常,则会抛出一个NullPointerException类型异常。
static void
prepare()
把当前线程当做一个消息循环来初始化。它提供了一个在启动消息消息循环之前,创建消息循环所要引用的处理器的机会。调用这个方法之后,必须确保调用loop()方法,并且通过调用quit()方法来结束消息循环。
static void
prepareMainLooper()
把当前线程当做一个消息循环来初始化,并把这个线程标记为应用程序的主线程。因为应用程序的主消息循环是由Android环境创建的,因此我们没有必要调用这个方法。
void
quit()
String
toString()
返回一个简要的外人能够读懂的描述本对象的字符串。
void
setMessageLogging(Printer printer)
控制该Looper处理的日志信息。如果启用这个功能,那么在每次消息分发的开始和结束时,表示目标Handler对象和消息内容的log消息会被写入Printer对象。
参数说明:
printer:一个接受log消息的Printer对象,如果参数值null,则禁用消息日志。
继承方法来自java.lang.Object。
- Android类参考---Looper
- Android-Looper类,Looper.prepare()和Looper.loop()
- Android:Looper类,Looper.prepare()和Looper.loop()
- Android-Looper类
- Android的Looper类
- Android-Looper类介绍
- Android-Looper类介绍
- Android中的Looper类
- Android-----Looper类介绍
- Android-Looper类介绍
- Android-Looper类
- Android-Looper类介绍
- Android-Looper类
- Android中的Looper类
- Android-Looper类介绍
- Android-Looper类介绍
- Android-Looper类介绍
- Android-Looper类介绍
- Flex最佳实践
- c# 多线程排队队列实现的源码
- android动画实现-Frame animation(一)
- 物理dataguard 正常切换 脚色转换,switchover_status 状态改变
- java ssh mysql实现文件上传下载功能
- Android类参考---Looper
- 证书链验证时出现异常:Signature does not match解决办法
- 【android开发】之【android动态布局方法总结】
- 泛型类:Queue
- 网络编程--IO模型示例
- 微软数据访问接口概述
- Proactor和Reactor模式_继续并发系统设计的扫盲
- C#实现 获取IPv4
- xcode常用快捷键