目前开发涉及到一个延迟操作场景:点击一个按钮,实现一个旋转动画,2秒钟后,然后需要跳转到一个新页面的操作,(比如微信收红包的操作)
在这里记录一下几种实现延时执行操作的方法:
1.使用线程的休眠实现延时操作
new Thread() {
@Override
public void run() {
super.run();
Thread.sleep(3000);//休眠3秒
/**
* 要执行的操作
*/
}
}.start();
2.使用TimerTask实现延时操作
TimerTask task = new TimerTask() {
@Override
public void run() {
/**
*要执行的操作
*/
}
};
Timer timer = new Timer();
timer.schedule(task, 3000);//3秒后执行TimeTask的run方法
3.使用Handler的postDelayed方法实现延时操作
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
/**
*要执行的操作
*/
}
}, 3000);//3秒后执行Runnable中的run方法
推荐使用第三种