I want to create a thread in an Android service that runs every X seconds
I am currently using , but the postdelayed method seems to really lag out my app.
There are number of alternative ways to do this. Personally, I prefer to use ScheduledExecutorService:
ScheduledExecutorService scheduleTaskExecutor = Executors.newScheduledThreadPool(5);
// This schedule a runnable task every 2 minutes
scheduleTaskExecutor.scheduleAtFixedRate(new Runnable() {
public void run() {
doSomethingUseful();
}
}, 0, 2, TimeUnit.MINUTES);