runOnUiThread 、 Handler 对比(一)

来源:互联网 发布:程序员对笔记本的要求 编辑:程序博客网 时间:2024/05/29 17:45
this.runOnUiThread(new Runnable() {@Overridepublic void run() {try {Thread.sleep(1000 * 5);} catch (InterruptedException e) {e.printStackTrace();}     InputMethodUtils.show(context, editText);     System.out.println("xx");}});System.out.println("xxxxxx");

在onCreate中执行改方法,。执行结果如下

xx

xxxxxxx

想想也应该明白, 系统只有一个(唯一)独立的Main线程--UIThread, 所有跟界面相关的都是同步执行

 

    new Handler().post(new Runnable() {   @Override   public void run() {    try {     Thread.sleep(1000 * 5);    } catch (InterruptedException e) {     e.printStackTrace();    }    InputMethodUtils.show(context, editText);    System.out.println("xx");   }  });  System.out.println("xxxxxx");

在onCreate中执行改方法,。执行结果如下

xxxxxxx

xx

先结束了onCreate 然后handler中的线程仍然继续执行