2010-11-28 63 views
1
//case 1:post to main thread's handler 
mHandler.post(new Runnable(){ 
    public void run(){ 
     dosomething(); //update UI 
    }); 

//case 2:run in main thread 
dosomething(); 

回答

3

即使您在處理程序的線程中,情況1也會排隊,情況2會立即執行。

2

那麼,如果你在主線程,那麼你在主線程,所以這很好。

但很多時候,你在一個工作線程中,想做一些只能在主線程中完成的事情(比如更新UI)。在這些情況下,你需要做一些特別的事情來在主線程上運行你的代碼 - 你發佈的處理程序代碼就是一個例子。

相關問題