2012-03-25 11 views
2

私はサービスを持っているので、 "バインディング"を使ってアクティビティとやり取りします。バインダーを使用してサービスのメソッドを呼び出すときにスレッディングを使用する方法

ここで、バインディングを使用して呼び出されるようになったこれらのメソッドの一部は、完了するまでに時間がかかることがあります(ヘビー級)。

どうすればこのスレッドを別のスレッドで実行できますか?

「アクティビティ」または「サービス」でスレッディングを使用する必要がありますか?

答えて

1

一般的に、(アクティビティが停止していても)タスクを完了しなければならない場合やスレッドが必要な場合は、サーバーの更新を待ち受けるため、サービスを使用します。それ以外の場合は、アクティビティを使用します。

今、あなたは(ActivityまたはServiceに - それは重要ではありません)これらの方法を使用して、バックグラウンドでタスクを実行できます。

1)最善の方法は、AsyncTaskを開始することです。

public void someServiceMethod(){ 
    new Thread(new Runnable(){ 
      public void run(){ 
       //do your stuff 
      } 
     } 
    ).start(); 
} 

そして、この読み:別々のスレッドでこれを実行するにはどうすればよいhttp://developer.android.com/guide/topics/fundamentals/services.html

2

2)その他の方法は、スレッドを開始するのですか?スレッドをフォーク、またはAsyncTaskを使用することにより

など

iは、「アクティビティ」や「サービス」のスレッドを使用する必要がありますか?

これはあなた次第であり、要約では答えられません。

関連する問題