0

私はそのようなタスクを実装したいと思います: バックグラウンドで (アプリがバックグラウンドにあるとき)、ユーザーの新しいデータを探し、それについて通知します。これを定期的に(2〜3秒ごとに)行う必要があります。データが異なるため、これにはさまざまな方法を使用します( FetchImages 、 FetchMessages 、 FetchNewConversations など)。Android 4で知る限り、すべてのネットワーク操作はバックグラウン スレッドなので、このすべての操作を AsyncTask から継承されたクラスとして実装し、それらを呼び出すために、次のように記述します。FetchImages.execute ()ただし、アクティビティは 1 回しか実行されないため、次 ScheduledExecutorServiceのように呼び出すことにしました。

.scheduleAtFixedRate(new Runnable() {
  public void run() 
   {
  FetchImages.execute(); //...
    }

問題は、それが良いアイデアなのか、それともより優れた効率的なソリューションが存在するのかということです。前もって感謝します!

4

1 に答える 1

2

すでにバックグラウンド スレッドを使用しているため、 を介して別のScheduledExecutorServiceバックグラウンド スレッドを追加する必要はありません。実際、メイン アプリケーション スレッドでしか作成できないため、コードはクラッシュするはずです。AsyncTaskAsyncTask

于 2013-02-19T15:26:06.737 に答える