2011-06-21 11 views
0

私は受信メッセージを聞くクライアントソフトウェア(Android上)を持っています。メッセージは、メッセージが来るのを待つwhileループで受信されます。メッセージが見つかると、GUIが更新されます。 [AndroidではGUIを直接更新できないため]これを行うためにスレッドが呼び出されます。私の問題は、多くのメッセージがある場合、結果が多くのスレッドにあります!そしてそれは不器用な状況を作ります。未使用のスレッドを適切にクリーニングするにはどうすればよいですか?

My_Client() 
{ 
    send_text_function() // My question is not about it 
    in_a_thread_Call_receive_from_others_function() [see 1] 
} 

receiving_funtion() // [this function is mentioned above as (see 1), called in a thread] 
{ 
    while(waiting for new message) 
    { 
    >>A new message found >> create a thread to update the GUI. // << Here is my question. see 2 
    //android.os.Handler.thread type thread! 
    } 
} 

ラベル2:このスレッドはメッセージがあるたびに作成されます。 1つのスレッドを作成して、何度も何度も何度も何度も使用し続けることができますか?何か案が?

答えて

1
  1. Threadを新規作成します。
  2. スレッドのrun()メソッドでは、新しいHandlerを作成します。
  3. ターゲットスレッドで何かしたいときは、ハンドラーのpost()メソッドを使用します。

GUIを更新するポストバック操作にメインスレッドでハンドラを作成できます。

AsyncTask<>もご覧ください。

関連する問題