Android 中Timer和TimeTask完成定時任務
阿新 • • 發佈:2019-01-23
1. Timer 用法
- new Timer().schedule(new TimerTask(){
- @Override
- publicvoid run() {
- // TODO Auto-generated method stub
- // do some your own process when the timeout come up
- }, 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一直在執行。
下面為例項演示: