什么是Handler
Handler:处理多进程之间的通信,比如,threadB需要调用ThreadA中的代码(如一些耗时的操作,需要在新的界面进行更新),则需要通过Handler进行
handler角色的作用
Message对象放入到了消息队列MessageQueue
调用了Hanlder的dispatchMessage方法,在该方法中我们完成对Message的处理
1.将消息加入到消息队列中
使用handler. sendMessage将Message对象发送到消息队列中
msg = Message.obtain(uihandler);
uihandler.sendMessage(msg);
使用post方法将消息对象发送到MessageQueue中
Runnable runnable = new Runnable() {
@Override
public void run() {
System.out.println("Runnable thread id " + Thread.currentThread().getId());
MainActivity.this.statusTextView.setText("文件下载完成");
}
};
uiHandler.post(runnable);
2.处理消息队列中的消息
Hanlder的dispatchMessage方法,在该方法中我们完成对Message的处理