在Android開發(fā)中我們可能會有延時執(zhí)行某個操作的需求,例如我們啟動應用的時候,一開始呈現(xiàn)的是一個引導頁面,過了兩三秒后,會自動跳轉(zhuǎn)到主界面。這就是一個延時操作。
下面是實現(xiàn)延時執(zhí)行操作的幾種方法:
1.使用線程的休眠實現(xiàn)延時操作
? new Thread() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void run() {
? ? ? ? ? ? ? ? super.run();
? ? ? ? ? ? ? ? Thread.sleep(3000);//休眠3秒
? ? ? ? ? ? ? ? /**
? ? ? ? ? ? ? ? * 要執(zhí)行的操作
? ? ? ? ? ? ? ? */
? ? ? ? ? ? ? ? ? ? ? ? }
? ? ? ? }.start();
2.使用TimerTask實現(xiàn)延時操作
? TimerTask task = new TimerTask() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void run() {
? ? ? ? ? ? ? /**
? ? ? ? ? ? ? *要執(zhí)行的操作
? ? ? ? ? ? ? */
? ? ? ? ? ? }
? ? ? ? };
? ? ? ? Timer timer = new Timer();
? ? ? ? timer.schedule(task, 3000);//3秒后執(zhí)行TimeTask的run方法
????????timer.schedule(task, 1000, 3000);//1秒后開始執(zhí)行每3秒執(zhí)行一次TimeTask的run方法
3.使用Handler的postDelayed方法實現(xiàn)延時操作
Handler handler = new Handler();
? ? ? ? handler.postDelayed(new Runnable() {
? ? ? ? ? ? @Override
? ? ? ? ? ? public void run() {
? ? ? ? ? ? ? /**
? ? ? ? ? ? ? ? *要執(zhí)行的操作
? ? ? ? ? ? ? ? */
? ? ? ? ? ? }
? ? ? ? }, 3000);//3秒后執(zhí)行Runnable中的run方法