I’m building an Android App which have to periodically do something in a Service. And I found that using
ScheduledExecutorService is preferable to
Can anyone explain the difference between
ScheduledThreadPoolExecutor and which one is more suitable for Android?
ScheduledExecutorService is an interface (a contract) and
ScheduledThreadPoolExecutor implements that interface.
Since you cannot directly instantiate an interface, you have to use implementation through instantiating
ScheduledThreadPoolExecutor directly or through means of factory method such as
java.util.concurrent.Executors that returns an instance of
ScheduledExecutorService scheduler = Executors.newScheduledThreadPool(1); scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS); //returns a ScheduledFuture
Have a look at Scheduled Executor Service Usage for Andriod