android sendmessagedelayed需要太长时间

时间:2014-04-04 06:09:08

标签: android android-handler

我正在使用UI线程的消息队列执行重复性任务。也就是说,在我的mainActivity中,我正在使用以下块:

private Handler mHandler = new Handler() {

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

但是,当我使用

从回调内部发送消息时
mHandler.sendEmptyMessageDelayed(what, 5);

我的延迟大约是20毫秒而不是预期的5毫秒。有谁知道为什么会发生这种事情?是否可以增加线程优先级来解决它?

1 个答案:

答案 0 :(得分: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);

可能对你有帮助。