android Timer TimerTask用法笔记

 Android中经常会遇到执行一些周期性定时执行的任务。初学的时候经常会使用Thread.sleep()方法。在android中,有Timer可以专门干这个事情。

先看看Timer.class中都是些什么。
看到前几行代码的时候就应该知道了....
Timer中有个静态内部类:TimerImpl
TimerImpl有个静态内部类:TimerHeap
TimerImpe继承Thread,用来实现具体的任务执行内容。
TimerHeap定义了一个TimerTask的数组,用来管理多个TimerTask的分配。
使用静态内部类的好处,是可以多个Timer对象可以共用。
 
下面看看TimerTask.class
 
好吧,比Timer还简单,就是Runnable的一个实现。只不过多了几个对象
lock:对象锁,在Timer中对TimerTask操作的时候,保证同步,线程安全。
cancelled:标志变量,当前TimerTask是否已经被取消执行。
when:Timer执行TimerTask时,延时多少时间。
period:Timer执行TimerTask时,周期时间。
fixedRate:是否已固定频率执行,比如一个TimerTask,执行周期为3秒,可能一个任务3秒内没有执行完毕,fixedTate为true,那么接下来的任务依然会执行。如果为fasle,接下来的任务会等到之前的执行完毕后,继续周期执行。
 
使用方法也很简单:
 

  最后一行代码:timer.schedule(task,1000,3000)意思是:在1秒之后  以周期为3秒 执行task。

转载于:https://www.cnblogs.com/Theone2014/p/4826467.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值