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() |












网友评论