在Android開發中,Timer類是一個實用工具,用於在指定時間間隔後執行任務或重複執行任務。它屬於java.util包,常用於後台線程中執行定時操作,避免阻塞主線程。

基本用法

Timer類的核心方法包括:

schedule(TimerTask task, long delay):在延遲後執行任務

schedule(TimerTask task, long delay, long period):在延遲後開始,以固定週期重複執行

schedule(TimerTask task, Date time):在指定時間執行

示例代碼

// 創建Timer對象 Timer timer = new Timer();  // 創建自定義任務 TimerTask task = new TimerTask() {     @Override     public void run() {         // 在後台線程執行         runOnUiThread(new Runnable() {             @Override             public void run() {                 // 更新UI                 textView.setText("任務執行時間:" + new Date());             }         });     } };  // 延遲1秒後執行,每2秒重複一次 timer.schedule(task, 1000, 2000);

注意事項

線程安全:Timer使用單線程執行所有任務,一個任務延遲會影響後續任務

內存泄漏:在Activity中使用時,需在onDestroy()中調用timer.cancel()釋放資源

替代方案:對於複雜定時需求,建議使用Handler配合Runnable或AlarmManager

取消定時任務

當不再需要定時任務時,應調用cancel()方法:

timer.cancel();

Timer類適用於簡單的定時場景,但對於需要精確控制或複雜調度的情況,可能需要考慮其他解決方案。