- 一、 使用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秒後隱藏提示框
android 3種定時器的方法
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.