(一)使用Handler的postDelayed方法实现延时操作
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
// 执行的操作
}
}, 5000);//5秒后执行Runnable中的run方法
启动与关闭计时器
handler.postDelayed(runnable, 2000);//每两秒执行一次runnable.
handler.removeCallbacks(runnable);
/*整体*/
public class TimedRefreshActivity extends BaseActivity {
private Handler handler = new Handler();
private Runnable runnable;
@Override
public int initLayout() {
return R.layout.activity_time_refresh;
}
@Override
public void initData() {
runnable = new Runnable() {
@Override
public void run() {
Log.e("1111","间隔5秒?");
handler.postDelayed(this, 5000);
}
};
handler.postDelayed(runnable,5000);
}
@Override
protected void onDestroy() {
super.onDestroy();
handler.removeCallbacks(runnable);
}
}
(二)使用TimerTask实现延时操作
TimerTask task = new TimerTask() {
@Override
public void run() {
// 执行的操作
}
};
Timer timer = new Timer();
timer.schedule(task, 5000);//5秒后执行TimeTask的run方法
(三)使用线程的休眠实现延时操作
new Thread() {
@Override
public void run() {
super.run();
Thread.sleep(5000);//休眠3秒
// 执行的操作
}
}.start();