Android常用的定时器实现方式有以下几种:
- Handler定时器:使用Handler的postDelayed()方法,可以延迟指定时间后执行任务,通过反复调用实现定时任务。
示例代码:
private Handler handler = new Handler(); private Runnable runnable = new Runnable() { @Override public void run() { // 定时任务代码 handler.postDelayed(this, delayMillis); } }; // 启动定时器 handler.postDelayed(runnable, delayMillis); // 停止定时器 handler.removeCallbacks(runnable);
- Timer定时器:使用Timer类和TimerTask类,可以创建定时任务,并设定定时任务的执行间隔。
示例代码:
private Timer timer = new Timer(); private TimerTask task = new TimerTask() { @Override public void run() { // 定时任务代码 } }; // 启动定时器 timer.schedule(task, delayMillis, intervalMillis); // 停止定时器 timer.cancel();
- ScheduledExecutorService定时器:使用ScheduledExecutorService类,可以创建定时任务,并设定定时任务的执行间隔。
示例代码:
private ScheduledExecutorService executor = Executors.newScheduledThreadPool(1); private Runnable task = new Runnable() { @Override public void run() { // 定时任务代码 } }; // 启动定时器 executor.scheduleAtFixedRate(task, delayMillis, intervalMillis, TimeUnit.MILLISECONDS); // 停止定时器 executor.shutdown();
这些定时器实现方式各有优缺点,具体选择哪种方式,可以根据项目需求和性能要求进行选择。