2015-09-10 7 views
11

私は定期的にサービスで何かをしなければならないAndroidアプリケーションを構築しています。そして、ScheduledThreadPoolExecutorScheduledExecutorServiceを使用することがTimerよりも好ましいことがわかりました。ScheduledExecutorServiceまたはScheduledThreadPoolExecutor

誰でもScheduledExecutorServiceScheduledThreadPoolExecutorの違いを説明できますか?どちらがAndroidに最適ですか?

更新

私は定期的なタスクを繰り返し実行するために、いくつかの方法の違いを説明this postthis articleを発見したと。私の場合、ScheduledThreadPoolExecutorAlarmManagerがより適しています。

+0

を見てください、あなたはハンドラを使用して考えていましたか? – Fildor

+0

[Handler](http://developer.android.com/reference/android/os/Handler.html)には、コードの実行をスケジュールするさまざまな方法があります。 – Fildor

答えて

5

ScheduledExecutorServiceインタフェース(契約)でありScheduledThreadPoolExecutorは、そのインタフェースを実装します。

インターフェイスを直接インスタンス化することはできないため、ScheduledThreadPoolExecutorを直接インスタンス化するか、10のインスタンスを返すjava.util.concurrent.Executorsなどのファクトリメソッドを使用して実装を使用する必要があります。

例えば

ScheduledExecutorService scheduler = 
Executors.newScheduledThreadPool(1); 

scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS); //returns a ScheduledFuture 

Scheduled Executor Service Usage for Andriod

関連する問題