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方法
簡單的一般推薦第三種。
Handler
開啟的runnable會在這個handler所依附線程中運行。若handler在UI線程中創建,runnable中的代碼也會在主線程中執行