android中Timer和TimerTask的使用
文章目录
Timer 线程调度任务工具,以便在后台线程中执行任务。可用用来定时,延时,周期性执行任务
code
TimerTask timerTask = new TimerTask() {
@Override
public void run() {
Log.d(TAG,"run");
//Todo
}
};
Timer timer = new Timer();
timer.schedule(timerTask,0,5*1000);
第一个参数:TimerTask实现了Runnable接口,使用者要继承该类,并实现 public void run() 方 法,这里面可以执行任务
方法
schedule(TimerTask task, long delay)
timer.schedule(timerTask,0);
第二个参数:delay 表示第一次执行,延迟delay这个时间执行TimerTask的run方法
schedule(TimerTask task, long delay, long period)
timer.schedule(timerTask,0,5*1000);
第三个参数:period 第一次执行后,从第二次开始,每隔period的时间调用一次run方法
不能直接更新UI
Timer里面创建了子线程,通过schedule方法添加TimerTask到TaskQueue中(TaskQueue里面创建了TimerTask[]),线程不断地从TaskQueue中取出timertask执行,不能直接更新UI
可以通过handler来更新UI