当前位置:   article > 正文

Android定时器Timer_android timer

android timer

原文链接:https://blog.csdn.net/u012849206/article/details/50487644

介绍

Timer是线程调度工具。作用:定时,延时,周期性执行任务。

Timer是一个类,使用Timer创建一个对象,然后调用这个对象的schedule方法。TimerTask是一个抽象类,包含一个抽象方法run(),在run()函数中执行任务。

schedule有三个参数(第三个参数可以不填):1.TimerTask对象;2.多长时间后开始执行(long类型),或者从某个时间后开始执行(Date类型);3.执行周期,long类型。

如果定时器不销毁,会一直执行,因此用完要及时关闭。

例子

  1. import java.util.Timer;
  2. import java.util.TimerTask;
  3. private Timer timer = null;//计时器
  4. private TimerTask task = null;
  5. //启动
  6. private void startTime() {
  7. timer = new Timer();
  8. task = new TimerTask() {
  9. @Override
  10. public void run() {
  11. try {
  12. //此处自己设置
  13. Message message = new Message();
  14. messege.what=1;
  15. handler.sendMessage(message);
  16. } catch (Exception e) {
  17. e.printStackTrace();
  18. }
  19. }
  20. };
  21. //1000ms执行一次
  22. timer.schedule(task, 1000);
  23. }
  24. //关闭
  25. private void stopTime() {
  26. if(timer!=null)
  27. timer.cancel();
  28. timer=null;//据说这样不会自动跳出软件
  29. }

Timer就是一个线程,使用schedule方法完成对TimerTask的调度,多个TimerTask可以共用一个Timer,也就是说Timer对象调用一次schedule方法就是创建了一个线程,并且调用一次schedule 后TimerTask是无限制的循环下去的,使用Timer的cancel()停止操作。当然同一个Timer执行一次cancel()方法后,所有Timer线程都被终止。

 调度方法

//time为Date类型:在指定时间执行一次。  
timer.schedule(task, time);  

//firstTime为Date类型,period为long,表示从firstTime时刻开始,每隔period毫秒执行一次。  
timer.schedule(task, firstTime, period);     

//delay 为long类型:从现在起过delay毫秒执行一次。  
timer.schedule(task, delay);  

//delay为long,period为long:从现在起过delay毫秒以后,每隔period毫秒执行一次。  
timer.schedule(task, delay, period);
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/240562
推荐阅读
相关标签
  

闽ICP备14008679号