android 三种定时器的写法

Posted 随缘101

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了android 三种定时器的写法相关的知识,希望对你有一定的参考价值。


//两秒后执行
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
--todo
}
}, 2000);




-----------------------------------------


一、 使用Timer 和 TimerTask Timer timer
= new Timer(); MyTimerTask timerTask = new MyTimerTask(); timer.schedule(timerTask, 3000, 1); // 延迟3秒钟,执行1次 //timer.cancel();// 取消 class MyTimerTask extends TimerTask { @Override public void run() { //这里不能处理UI操作 // do something } } ------------------------------------------------------------------------ 二、采用Handler的sendMessageDelayed(Message, long) public void startAutoFlowTimer() { handler = new Handler() { @Override public void handleMessage(Message msg) { // do something Message message = handler.obtainMessage(0); sendMessageDelayed(message, 1000); } }; Message message = handler.obtainMessage(0); handler.sendMessageDelayed(message, 1000); } handler.removeMessages(0) //结束调用 --------------------------------------------------------------------------- 三、采用Handler的postDelayed(Runnable, long) 方法,这个实现比较简单一些: 1. Handler handler=new Handler(); Runnable runnable=new Runnable(){ @Override public void run() { // do something handler.postDelayed(this, 2000); //在这里实现每两秒执行一次 } }; handler.postDelayed(runnable, 2000);//启动,两秒后执行runnable. handler.removeCallbacks(runnable); //停止 --------------------------------------------------------------------------- //延迟执行 // 设置异步线程, Handler handler = new Handler() { public void handleMessage(Message msg) { // handle message switch (msg.what) { case 1: //ui 方法 } super.handleMessage(msg); } }; Message message = handler.obtainMessage(1); handler.sendMessageDelayed(message, 3000); // 发送message,3秒后隐藏提示框

转载自:http://www.cnblogs.com/weidingqiang/p/5569012.html

以上是关于android 三种定时器的写法的主要内容,如果未能解决你的问题,请参考以下文章

自动刷新android片段,直到满足条件

[Android] Android 定时任务实现的三种方法(以SeekBar的进度自动实现为例)

JS 定时器的4种写法及介绍

JS 定时器的4种写法及介绍

多线程_几种定时器的写法

Python 判断变量是否是 None 的三种写法