handler.post(runnable)是否启动了一个新线程?

时间:2012-02-06 16:24:10

标签: java android handler runnable

如果处理程序是在主UI线程中实例化的,那么带有Runnable的帖子是否会创建一个子线程,该线程会被添加到消息队列中,还是只是在UI线程中运行?

handler.post(new Runnable(){
    public void run() {
        // do stuff
    }
});

2 个答案:

答案 0 :(得分:11)

不,它不会创建新线程。它只是在您的处理程序附加到的线程上执行runnable,在这种情况下意味着您的UI线程

答案 1 :(得分:0)

handler.post(new Runnable()){

public  void run(){
//do something
}
});

这并不能保证它会创建一个新的thread.it只会调用附加处理程序的线程的runnable(这里有UI线程)。

Handler不会创建一个新线程,它会绑定到它在(在这种情况下是主线程)中创建的线程的looper,或者绑定到在构造期间给它的looper。