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