Android计时器

【Android计时器】知识就是力量,时间就是生命。这篇文章主要讲述Android计时器相关的知识,希望能为你提供帮助。

1.Handler类的postDelayed方法:Handler mHandler = new Handler(); Runnable r = new Runnable() {@Override public void run() { //do something //每隔1s循环执行run方法 mHandler.postDelayed(this, 1000); } }; 主线程中调用:mHandler.postDelayed(r, 100); //延时100毫秒2.用handler+timer+timeTask方法:Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what == 1){ //do something } super.handleMessage(msg); } }; Timer timer = new Timer(); TimerTask timerTask = new TimerTask() { @Override public void run() { Message message = new Message(); message.what = 1; handler.sendMessage(message); } }; 主线程中调用:timer.schedule(timerTask,1000,500); //延时1s,每隔500毫秒执行一次run方法3.Thread+handler方法: Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what == 1){ //do something } super.handleMessage(msg); } }; class MyThread extends Thread {//这里也可用Runnable接口实现 @Override public void run() { while (true){ try { Thread.sleep(1000); //每隔1s执行一次 Message msg = new Message(); msg.what = 1; handler.sendMessage(msg); } catch (InterruptedException e) { e.printStackTrace(); }} } } 主线程中调用:new Thread(new MyThread()).start(); 二、三种延时的快捷方法: 1.Handler的postDelayed方法:new Handler().postDelayed(new Runnable() {@Override public void run() { //do something } }, 1000); //延时1s执行2.timer + TimerTask方法:timer = new Timer(); timer.schedule(new TimerTask() { @Override public void run() { //do something } },1000); //延时1s执行3.Thread方法:new Thread(new MyThread()).start(); new Thread(new Runnable() { @Override public void run() { try { Thread.sleep(1000); //延时1s //do something } catch (InterruptedException e) { e.printStackTrace(); } } }).start();



    推荐阅读