1. 程式人生 > >Android 中Timer和TimeTask完成定時任務

Android 中Timer和TimeTask完成定時任務

1. Timer 用法

  1. new Timer().schedule(new TimerTask(){  
  2. @Override
  3. publicvoid run() {  
  4. // TODO Auto-generated method stub
  5. // do some your own process when the timeout come up
  6. }, delay, period);  

Timer作用:延時或迴圈執行

使用帶period引數的schedule方法該timer以period為週期,迴圈執行run方法。--------迴圈執行。

使用不帶period引數的schedule方法則該timer只在delay時間到來時執行一次。--------單次執行。

2. 注意

TimerTask執行在一個單獨的執行緒裡,而不是UI執行緒。所以使用Android timer時,注意android的單執行緒原則,確保執行緒安全。不要在TimerTask的run方法中做UI相關的操作,如:TextView.setText()等,這樣可能會導致UI執行緒阻塞。如果需要可以使用handler向UI執行緒發訊息,具體處理由UI執行緒自己完成。在使用完Timer之後,要使用Timer的cancel方法取消Timer,否則Timer一直在執行。

下面為例項演示: