Code Bye

handler.post运行线程

handler.post(new Runnable()
{

@Override
public void run()
{
System.out.println(Looper.myLooper().getThread()+”post”);
textView.setText(“alreadly changed”);
}
});
各位高手求指点啊,new 一个runnable不是开启一个新线程么,为什么在这就不适用了呢。通过打印可以得出还是运行在main线程里面,也能更新UI主键。为啥是这样呢,为啥呢?

解决方案

40

Handler是绑定到创建它的主线程中的,Handler跟UI主线程是同一个线程。Handler的作用:主要是在其他后台线程中,通过handler这个媒介,向UI主线程发送Runnable对象(即代码段)

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明handler.post运行线程