一.延时操作

在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是一个引导页面,过了两三秒后,会自动跳转到主界面。这就是一个延时操作。

二. 延时操作的类型

1.使用线程的休眠实现延时操作

1
2
3
4
5
6
7
8
9
10
new Thread() {
@Override
public void run() {
super.run();
Thread.sleep(3000);//休眠3秒
/**
* 要执行的操作
*/
}
}.start();

2.使用TimerTask实现延时操作

1
2
3
4
5
6
7
8
9
10
TimerTask task = new TimerTask() {
@Override
public void run() {
/**
*要执行的操作
*/
}
};
Timer timer = new Timer();
timer.schedule(task, 3000);//3秒后执行TimeTask的run方法

3.Handler的postDelayed方法实现延时操作

1
2
3
4
5
6
7
8
9
//postDelayed不会阻塞线程
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
/**
*要执行的操作
*/
}
}, 3000);

等待delayMillisi毫秒以后再将线程加入队列,但是程序后面代码依然会立即继续执行,而不是等待delayMillisi毫秒后再执行。

4.View的延时

1
2
3
4
5
6
7
8
view.postDelayed(new Runnable() {
@Override
public void run() {
/**
*要执行的操作
*/
}
},3000);