Looper
用來創(chuàng)建一個message loop的線程,默認線程沒有與之相關連的message loop,如果需要創(chuàng)建一個,在線程中調用prepaer()以創(chuàng)建循環(huán),并且boop()將運行他的流程消息,知道循環(huán)結束。
大多數(shù)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狀態(tài) |
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() |