Android 延时操作的常用方法
一、简介
在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是引导页面,3秒后进入主界面,这就是一个延时操作。还有一种是执行某些接口任务时,需要有超时机制。下面介绍常用的几种方法。
二、常用方法介绍
2.1 使用线程的休眠实现延时操作
new Thread(new Runnable() {
@Override
public void run() {
Thread.sleep(1000); // 休眠1秒
/**
* 延时执行的代码
*/
}
}).start();
2.2 使用TimerTask实现延时操作(java内部的计时器)
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
/**
* 延时执行的代码
*/
}
},1000); // 延时1秒
timer.cancel()//取消执行
2.3 使用Handler的postDelayed()方法实现延时操作
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
/**
* 延时执行的代码
*/
}
},1000); // 延时1秒
或者:
val handler=Handler()
val timeRunnable= Runnable {
}
handler.postDelayed(timeRunnable,1000)//单位毫秒,延迟一秒执行
handler.removeCallbacks(timeRunnable)//取消定时器执行
2.4 使用kotlin 的withTimeoutOrNull
runBlocking {
val timeOut = 1000
val result = withTimeoutOrNull(timeOut.toLong()) {//timeOut.toLong()
//执行任务
"done"
}
if (result == null) {
//超时了
}
}