博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android类参考---Looper
阅读量:4954 次
发布时间:2019-06-12

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

1.  继承关系

java.lang.Object

   |____android.os.Looper

2.  类概要

这个类被用来给线程返回一个消息循环。默认情况下,没有跟线程相关联的消息循环;在线程中调用prepare()方法会运行这个循环,并且loop()方法会一直处理消息,直到循环被终止。

跟消息循环的大多数交互是通过Handler类来完成的。

以下是消息循环线程实现的典型的例子,它使用prepare()loop()方法把用于跟Looper通信的初始Handler对象的创建过程夹在中间:

class LooperThread extends Thread {

     
public Handler mHandler;
     
public void run() {
         
Looper.prepare();
          mHandler
= new Handler() {
             
public void 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

转载于:https://www.cnblogs.com/phonegap/archive/2012/04/27/2535830.html

你可能感兴趣的文章
SQL 能做什么?
查看>>
java IO操作:FileInputStream,FileOutputStream,FileReader,FileWriter实例
查看>>
使用Busybox制作根文件系统
查看>>
Ubuntu候选栏乱码
查看>>
基于SSH框架的在线考勤系统开发的质量属性
查看>>
jpg图片在IE6、IE7和IE8下不显示解决办法
查看>>
delphi之模糊找图
查看>>
Javascript模块化编程的写法
查看>>
大华门禁SDK二次开发(二)-SignalR应用
查看>>
oracle 使用job定时自动重置sequence
查看>>
集成百度推送
查看>>
在项目中加入其他样式
查看>>
在使用Kettle的集群排序中 Carte的设定——(基于Windows)
查看>>
【原】iOS中KVC和KVO的区别
查看>>
OMAPL138学习----DSPLINK DEMO解析之SCALE
查看>>
IoC的基本概念
查看>>
restframework CBV试图的4种方式
查看>>
大图居中,以1920px为例
查看>>
Python3 图片转字符画
查看>>
[C陷阱和缺陷] 第7章 可移植性缺陷
查看>>