android中Timer的使用

本文深入解析Android中Timer和TimerTask的使用方法,包括如何通过schedule方法执行定时、延时及周期性任务。同时,强调了在子线程中无法直接更新UI的问题,以及如何通过Handler机制解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值