java android开发---定时/延迟任务

【java android开发---定时/延迟任务】一、比较暴力的方式

SystemClock.sleep(毫秒数);

直接暂停系统时钟类的计时操作,过于暴力,不建议使用。
二、定时任务方式
  • 方式一创建只执行一次的定时任务
new Timer().schedule(new TimerTask() { @Override public void run() { dosomethings(); } }, 延迟的毫秒数);

java.util.Timer.schedule(TimerTask task, long delay):这个方法是说,dalay/1000秒后执行task.只执行一次
  • 方式二采取android.os.Handler.Handler()的postDelayed方法,每过多长时间进行一次任务
new Handler().postDelayed(new Runnable() { @Override public void run() { dosomethings(); } }, 毫秒数);

  • 方式三依旧是方式一的方式,只是多了个参数
new Timer().schedule(new TimerTask() { @Override public void run() { dosomethings(); } }, times1,times2);

times1:延迟多少毫秒后执行第一次
times2:第一次执行后,以后的任务每隔多少毫秒执行一次
三、关闭定时
timer启动的定时任务,采取timer.cancel()进行关闭;
采取 handler.postDelayed创建的定时任务,采取handler.removeCallbacks(runnable)进行关闭。

    推荐阅读