Android中实现定时器的3中方法
2016-05-21 15:15
288 查看
在Android开发中,定时器一般有以下3种实现方法:
一、采用Handler与线程的sleep(long)方法;
二、采用Handler的postDelayed(Runnable, long)方法;
三、采用Handler与timer及TimerTask结合的方法;
一、采用Handle与线程的sleep(long)方法
Handler主要用来处理接受到的消息。这只是最主要的方法,当然Handler里还有其他的方法供实现,有兴趣的可以去查API,这里不过多解释。
1. 定义一个Handler类,用于处理接受到的Message。
2. 新建一个实现Runnable接口的线程类,如下:
3. 在需要启动线程的地方加入下面语句:
4. 启动线程后,线程每10s发送一次消息。
二、采用Handler的postDelayed(Runnable, long)方法
这个实现比较简单一些。
1. 定义一个Handler类
2. 启动计时器
3. 停止计时器
handler.removeCallbacks(runnable);
三、采用Handler与timer及TimerTask结合的方法
Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。
TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。
Timer和TimerTask可以做为实现线程的第三种方式,前两中方式分别是继承自Thread类和实现Runnable接口。
Timer是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,可以看成一个定时器,可以调度TimerTask。TimerTask是一个抽象类,实现了Runnable接口,所以具备了多线程的能力。
schedule是Timer调度任务的方法,Timer重构了四个schedule方法,具体可以查看JDK API。
一、采用Handler与线程的sleep(long)方法;
二、采用Handler的postDelayed(Runnable, long)方法;
三、采用Handler与timer及TimerTask结合的方法;
一、采用Handle与线程的sleep(long)方法
Handler主要用来处理接受到的消息。这只是最主要的方法,当然Handler里还有其他的方法供实现,有兴趣的可以去查API,这里不过多解释。
1. 定义一个Handler类,用于处理接受到的Message。
二、采用Handler的postDelayed(Runnable, long)方法
这个实现比较简单一些。
1. 定义一个Handler类
handler.removeCallbacks(runnable);
三、采用Handler与timer及TimerTask结合的方法
Timer是一种定时器工具,用来在一个后台线程计划执行指定任务。它可以计划执行一个任务一次或反复多次。
TimerTask一个抽象类,它的子类代表一个可以被Timer计划的任务。
Timer和TimerTask可以做为实现线程的第三种方式,前两中方式分别是继承自Thread类和实现Runnable接口。
Timer是一种线程设施,用于安排以后在后台线程中执行的任务。可安排任务执行一次,或者定期重复执行,可以看成一个定时器,可以调度TimerTask。TimerTask是一个抽象类,实现了Runnable接口,所以具备了多线程的能力。
相关文章推荐
- Android获取本机IP地址,绝对可行
- Android Socket(简单的字符串)
- Android中drawable各个属性讲解
- Android Studio 报错:Your project path contains non-ASCII characters.
- [问题]mac执行adb命令出现adb: command not found解决方法
- Android Studio报错:Gradle DSL method not found: 'android()'
- ShareSDK-Android的使用总结
- Android 使用ViewGroup实现ViewPager的效果
- DataBinding简单操作
- 你需要知道的 Android6.0 权限相关
- Android Studio图文安装教程
- Android自动化测试框架---Espresso(2)
- Android源码之View的绘制
- Android开发获取相机拍照的原图(并非缩略图)
- android service
- Android新特性之二
- Android学习系列(8)--App反编译与代码混淆
- Android自动化测试框架---Espresso(1)
- Android客户端性能测试(一):使用APT测试Android应用性能
- Android跨进程bindService与callback