Looper
2016-06-15 本文已影响81人
jockerMe
Looper
用来创建一个message loop的线程,默认线程没有与之相关连的message loop,如果需要创建一个,在线程中调用prepaer()以创建循环,并且boop()将运行他的流程消息,知道循环结束。
大多数message loop通过Handler类活动
下面是一个典型的例子:
class LooperThread extends Thread{
public Handler mHandler;
public void run(){
Looper.prepare();
mHandler = new Handler(){
public void handleMessage(Message msg){
//process incoming message here
}
}
}
}
Return | Func |
---|---|
void | dump(Printer pw ,String prefix) 为了debug调试,转储Looper状态 |
static Looper | getMainLooper() 返回应用的主 looper |
MessageQueue | getQueue() 获得looper的message queue |
Thread | getThread() 获取与Looper绑定的线程 |
boolean | isCurrentThread() 如果当前线程是looper线程,返回true |
static void | loop() 运行线程中的message queue |
static Looper | myLooper() 返回当前线程的Looper对象 |
static MessageQueue | myQueue() 放回当前线程的MessageQueue对象 |
static void | prepare() 将当前线程初始化为Looper线程 |
static void | prepareMainLooper() 将当前线程初始化为Looper,把他作为应用的主 Looper |
void | quit() 退出 looper |
void | quitSafely() 安全的退出 looper |
void | setMessageLogging(Printer printer)控制由looper控制的消息记录 |
String | toString() |