有时项目中,会遇到延时操作等问题,比如让进程执行完,或者获取数据时进行一些延迟!下面就直接上代码!
常用的会有一下三种方法:
1.用线程进行休眠操作
private void threaddelay(){
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(3000);
System.out.println("---------->"+"我是Thread的延迟操作");
postdelay();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
第二种用定时器进行操作:
//延时三秒
private void delay(){
System.out.println("---------->"+"AAAAAAAAA");
TimerTask task = new TimerTask() {
@Override
public void run() {
/**
*要执行的操作
*/
System.out.println("---------->"+"我是TimerTask的延迟操作");
// postdelay();
}
};
Timer timer = new Timer();
timer.schedule(task, 3000);//3秒后执行TimeTask的run方法
}
第三种用handler进行操作:
private void postdelay(){
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
/**
*要执行的操作
*/
System.out.println("---------->"+"我是handler的延迟操作");
threaddelay();
}
}, 3000);//3秒后执行Runnable中的run方法
}