2014-04-04 220 views
0

我正在使用UI線程的消息隊列執行重複任務。也就是說,在我的mainActivity我使用下列程序:android sendmessagedelayed花費時間太長

private Handler mHandler = new Handler() { 

    @Override 
    public void handleMessage(Message msg) { 
    } 
} 

可是,當我用

mHandler.sendEmptyMessageDelayed(what, 5); 

我的延遲從回調中發送消息大約是20毫秒,而不是預期的5毫秒。有誰知道爲什麼會發生這種事情?是否有可能增加線程優先級來解決它?

回答

0

您可以使用備用

private Handler mHandler = new Handler() { 

    @Override 
    public void handleMessage(Message msg) { 
     //....... 
    } 
} 

Handler handler = new Handler(); 
handler.postDelayed(new Runnable() { 

    @Override 
    public void run() { 
     mHandler.sendMessage(""); 
    } 
}, 5000); 

可能是對你有幫助。