2016-08-24 13 views
-1

30秒ごとに実行する必要がある定期的なタスクが必要です。私はここでScheduledThreadPoolExecutorまたはTimerサービスとアクティビティ内のタイマーを開始するときの相違

ScheduledThreadPoolExecutor executor = new ScheduledThreadPoolExecutor(1); 
     executor.scheduleWithFixedDelay(new MyTask(), 0, 30000, TimeUnit.MILLISECONDS); 

class MyTask implements Runnable { 
     @Override 
     public void run() { 
     }   
} 

を使用していTimer

Timer timer = new Timer(); 
     timer.schedule(new TimerTask() { 
      @Override 
      public void run() { 
       // do something here 
      } 
     }, 0, 30000); 

である私の質問は:私はサービス/ IntentService内または1つの活動内のコード上で起動した場合に任意の違いがあります。これらの行動は同じであるか、サービス内での開始がより良いでしょう。

+0

可能な二重にそれを使用することができますので、あなたのアプリが前にあるとき[Androidのタイマー?どのように?](http://stackoverflow.com/questions/4597690/android-timer-how) – karan

答えて

0

あなたは、このタスクを実行したい場合は、あなたのアプリがその背景にあるときでも、あなたがserviceを使うべきか、あなただけで実行したい場合は、activity

関連する問題