在項目中有很多的方法可能我們不需要立即執行,那麼就需要延時。
首先第一種就是線程: sleep會阻塞線程
new Thread (new Runnable(){
public void run(){
Thread.sleep(time);
method(); //執行的方法
}
})
第二種就是 定時器:
TimerTask task = new TimerTask(){
public void run(){
//method
}
}
Timer timer = new Timer();
timer.schedule(task,delay);
第三種就是: postDelayed不會阻塞線程
new Handler().postDelayed(new Runnable(){
public void run(){
//execute the task
}
},delay);
例如如下代碼: int i = 0; long delayMillis = 900000;
while(i<13) {
hanlder.postDelayed(runnable, delayMillis*i); i++;
第四種是 AlarmManager 一般的簡單任務不這麼做。