Timer简介
Timer(计时器)位于 java.util包下,可用于创建定时任务,任务可以安排为一次性执行,也可以定期重复执行。每个计时器对象对应一个后台线程(TimerThread)。简单理解为创建Timer对象,对应TimerThread线程循环开始从TaskQueue队列中执行一个TimerTask任务。
Timer使用
-
创建Timer对象 var timer = Timer()
-
添加需要执行的任务
var timer = Timer()
var timerTask: TimerTask = object : TimerTask() {
override fun run(){
Log.i("Timer", "定时器执行一次")
}
}
timer.schedule(timerTask, 5000)
执行以上代码,可以从控制台看到打印 定时器执行一次,以上代码适用于一次性任务的执行,如启动页定时跳转到首页。 -
循环执行任务 var timer = Timer()
var timerTask: TimerTask = object : TimerTask() {
override fun run(){
Log.i("Timer", "定时器执行一次")
}
}
timer.schedule(timerTask, 0, 5000)
这里需要注意下,第2个参数启动定时器时间为0,代表立即启动,相应的任务会被立即执行,第3个参数为周期间隔5s,对应每5s后执行一次任务。 -
取消任务 var timer = Timer()
timer.cancel()
总结
以上就是简单使用计时器(Timer)的例子,可以结合自身需求使用,这里需要注意的是,循环使用时,记得在不需要执行的时候取消任务执行,避免出现内存泄露相关的问题。
|