2010-11-28 6 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の更新など)でしか実行できないことをしたいことがよくあります。そのような場合は、メインスレッドでコードを実行するために何か特別な処理を行う必要があります。投稿したハンドラコードがその一例です。

関連する問題