在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類適用於簡單的定時場景,但對於需要精確控制或複雜調度的情況,可能需要考慮其他解決方案。