Android定时器Timer和TimerTas的使用

1. 概述

Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。

TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。

TimerTask运行在一个单独的线程里,而不是UI线程。所以使用timer时,注意android的单线程原则,确保线程安全。不要在TimerTask的run方法中做UI相关的操作。如:TextView.setText()等,这样可能会导致UI线程阻塞。如果需要可以使用handler向UI线程发消息,具体处理由UI线程自己完成。在使用完Timer之后,要使用Timer的cancel方法取消Timer,否则Timer一直在运行。

 

2. Timer类的方法
    schedule(TimerTask task,  long delay,  long period)
    schedule(TimerTask task,  Date time,  long period)
    scheduleAtFixedRate(TimerTask task,  long delay,  long period)
    scheduleAtFixedRate(TimerTask task,  Date firstTime,  long period)

 

3. 程序示例

//定义timer和timertask
private Timer myTimer = new Timer();
private TimerTask DateTimeTask = new TimerTask(){
    @Override
    public void run(){
        Message msg = new Message();
        msg.what = 0x124;
        myGetTimeHandler.sendMessage(msg);
    }
};


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    showTimeTextview = (TextView)findViewById(R.id.TimeTextview);
    showDateTextview = (TextView)findViewById(R.id.DateTextview);
    //在这里 启动timer
    myTimer.schedule(DateTimeTask, 0, 10000);//单位是毫秒
}

 

 

参考文档 

android定时器的使用

Android Timer和TimerTask

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值