Android定时器Timer简单使用

  • Timer简介
  • Timer使用
  • 总结

Timer简介

Timer(计时器)位于 java.util包下,可用于创建定时任务,任务可以安排为一次性执行,也可以定期重复执行。每个计时器对象对应一个后台线程(TimerThread)。简单理解为创建Timer对象,对应TimerThread线程循环开始从TaskQueue队列中执行一个TimerTask任务。

Timer使用

  1. 创建Timer对象

    var timer = Timer()
    
  2. 添加需要执行的任务

    // 创建计时器对象
    var timer = Timer()
    // 创建计时器任务
    var timerTask: TimerTask = object : TimerTask() {override fun run(){Log.i("Timer", "定时器执行一次")}
    }
    // 添加任务,设定开始计时器时间,第2个参数为时间单位毫秒,如果是0,立即执行
    timer.schedule(timerTask, 5000)
    

    执行以上代码,可以从控制台看到打印 定时器执行一次,以上代码适用于一次性任务的执行,如启动页定时跳转到首页。

  3. 循环执行任务

    var timer = Timer()
    // 创建计时器任务
    var timerTask: TimerTask = object : TimerTask() {override fun run(){Log.i("Timer", "定时器执行一次")}
    }
    // 添加任务,设定开始计时器时间,第2个参数为0,立即执行,第3个参数为循环周期间隔为5s
    timer.schedule(timerTask, 0, 5000)
    

    这里需要注意下,第2个参数启动定时器时间为0,代表立即启动,相应的任务会被立即执行,第3个参数为周期间隔5s,对应每5s后执行一次任务。

  4. 取消任务

    var timer = Timer()
    timer.cancel() // 取消任务
    

总结

以上就是简单使用计时器(Timer)的例子,可以结合自身需求使用,这里需要注意的是,循环使用时,记得在不需要执行的时候取消任务执行,避免出现内存泄露相关的问题。

Android定时器Timer简单使用相关推荐

  1. Android 定时器Timer的使用

    转载自: https://www.jianshu.com/p/dd5de8dbbe81 定时器有什么用 在我们Android客户端上有时候可能有些任务不是当时就执行,而是过了一个规定的时间在执行此次任 ...

  2. Android定时器Timer和TimerTas的使用

    1. 概述 Timer是一种定时器工具,用来在一个后台线程计划执行指定任务.它可以计划执行一个任务一次或反复多次. TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务. Time ...

  3. Android 定时器Timer

    定义一个定时器及定义一个TimerTask处理handler事件 Timer timer = new Timer();TimerTask task = new TimerTask() {@Overri ...

  4. Android定时器Timer

    原文链接:https://blog.csdn.net/u012849206/article/details/50487644 介绍 Timer是线程调度工具.作用:定时,延时,周期性执行任务. Tim ...

  5. java定时器关闭再重启_Android定时器Timer的停止和重启实现代码

    本文介绍了Android定时器Timer的停止和重启实现代码,分享给大家,具体如下: 7月份做了一个项目,利用自定义控件呈现一幅动画,当时使用定时器来控制时间,但是当停止开启时总是出现问题.一直在寻找 ...

  6. 【Android 异步操作】Timer 定时器 ( Timer 与 TimerTask 基本使用 | Timer 定时器常用用法 | Timer 源码分析 )

    文章目录 一.Timer 定时器基本使用 二.Timer 定时器常用用法 三.Timer 源码分析 四.Timer 部分源码注释 五.源码及资源下载 参考文档 : Timer 定时器 API 文档 T ...

  7. android 定时器 耗电,Android定时器

    CountDownTimer new CountDownTimer(3000, 1000) { public void onTick(long millisUntilFinished) { if (m ...

  8. android更新UI(界面)的方法;android刷新界面数据的方法;android定时器更新界面

    Android中常常需要对UI界面进行更新.下面我将介绍的是定时更新UI的几种方法: 一.定时器更新UI的两种方法 1.使用Timer的方式 private Timer timer=new Timer ...

  9. android实现10ms定时器,Android定时器不低于〜120ms分辨率

    我一直试图通过TCP Socket连接将我的Android手机传感器数据发送到我的PC.我的目标是刷新10-40毫秒,我正在研究手机传感器在测量技术方面的潜在应用,这些测量技术包括将手机放在秋千上,并 ...

最新文章

  1. UITableView注意点
  2. python3爬虫小型代码_python3简单爬虫实现代码
  3. 对Spring事务一些问题的讨论
  4. ubuntu切换JDK版本
  5. 机器学习(一)—— 线性回归
  6. NOIP2017普及组-1. 成绩
  7. mysql触发器不能alter
  8. Needle in a haystack: efficient storage of billions of photos 【转】
  9. mysql cmmand not found
  10. 关于call()的this指向研究
  11. 摄影测量——EPS三维测图软件正射影像+三维模型后期成果处理(附软件安装包+学习视频)
  12. 精准广告投放 —— 业务概念知识
  13. C语言编写一个掷骰子猜大小游戏,用C语言模拟一种掷骰子游戏
  14. 大型服装集团BI决策系统的分析主题模块
  15. 移植waland/weston 到AM335X 在运行的时候运行不成功分析
  16. 贝叶斯算法(bayesian)在GCMail反垃圾邮件系统中的应用
  17. KDD CUP 99利用决策分类树进行网络异常检测
  18. 【FFmpeg】ffplay 源代码结构图+播放模式分析
  19. Leetcode_122_Best Time to Buy and Sell Stock II
  20. 12.3 页面锁PG_Locked

热门文章

  1. Ubuntu系统安装sougou输入法
  2. pm2 start 带参数_pm2配置文件介绍
  3. 怎么看服务器cpu温度命令_查看服务器配置信息prtdiag与systeminfo实用命令
  4. 给新入职小朋友的三点建议
  5. 使用IronOCR识别图片文字
  6. 红尘陌上,饮尽人间的蛊
  7. Java 14 GA 版本正式发布
  8. QQ为什么换绑失败还建议到手机QQ内换绑怎么解决?
  9. js中 Object.freeze 方法
  10. 择新境·领锋芒 | 创利树项目发布会暨公司乔迁庆典圆满成功!