过程:
Handler发送Message(关联此Handler)到主线程的消息队列,当运行到此消息时,它将回调关联的Handler的handleMessage方法,此方法运行在主线程上。
作用:
1. 在主线程上,执行(或延迟执行)周期的任务,无需使用计时器或闹钟管理器。例如:
public class CycleHandler extends Handler {
@Override
public void handleMessage(Message msg) {
// do somethings
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
sendMessage(obtainMessage());
}
}
2. 在工作线程(异步任务)中,通过关联的Handler将异步运行的结果同步到主线程上。