一、比较暴力的方式

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)进行关闭。