我们都知道Handler中的post方法可以更新组件的内容,多用在子线程异步更新ui界面。
handler.post(new Runnable(){
@Override
public void run() {
//do something
mTextView.setText("msg");
}});
post 是立即插入消息列队,当消息列队处理到该消息时,Runnable将在handle绑定的线程中运行。也就是说如果在Main Thread里声明了一个handler,这个handler所Post 的 Runnable(Thread)、以及处理的message都是在当前的main线程里,非子线程,千万不要被“runnable”这个字眼迷惑了。所以不能在runable里执行耗时的操作。