android里面可以用ScheduledExecutorService做定时器,用法如下:
/**
* 延迟执行和周期重复执行的线程池
*/
public ScheduledExecutorService mScheduledExecutorService;
public void startTest() {
mScheduledExecutorService = new ScheduledThreadPoolExecutor(6);
mScheduledExecutorService.scheduleAtFixedRate(new Runnable() {
@Override
public void run() {
Log.i("Alex", "线程池子线程中执行,3秒执行一次");
}
}, 0, 3, TimeUnit.SECONDS);
}
注意:如果此定时器上一个任务因为阻塞异常等问题,下一个任务就不会执行,定时器任务就会中断。