Android 的Timer 一般如下面所写

Timer timer = new Timer();  TimerTask task = new TimerTask() {      public void run() {          Message message = new Message();          message.what = 1;          handler.sendMessage(message);        }    };  
final Handler handler = new Handler() {        public void handleMessage(Message msg) {          switch (msg.what) {          case 1:              Log.e("Timer", "Timer");              update();              break;          }          super.handleMessage(msg);      }    };  
protected void onDestroy() {      if (timer != null) {          timer.cancel();          timer = null;      }      super.onDestroy();  }  

最重要一点是timer.schedule(task, 1000, 5000);如果设置为timer.schedule(task, 5000)是不会工作的。

protected void onCreate(Bundle savedInstanceState) {      super.onCreate(savedInstanceState);      this.setContentView(R.layout.main);                                 timer.schedule(task, 1000, 5000);                  }  

但更好的方法是通过下面的代码

private Handler handler = new Handler();    private Runnable runnable = new Runnable() {        public void run() {          update();          handler.postDelayed(this, 1000);      }    };  

开始Timer

handler.postDelayed(runnable, 1000);  

停止Timer

handler.removeCallbacks(runnable); 

更多相关文章

  1. 通过ddmlib杀死某个android进程的方法
  2. Android一些常用知识和代码(不断更新)
  3. Android之 inflate() 方法总结
  4. Android读取服务器图片的三种方法
  5. android播放本地工程里的音乐和视频的方法
  6. ActionBar的一些使用方法
  7. H5调用原生APP的js方法

随机推荐

  1. 前端教程之Intro.js轻松实现新手引导效果
  2. Apache CarbonData 1.0.0发布及其新特性
  3. 下一代大数据处理平台Apache Beam成为Apa
  4. 什么是CPU 上下文切换
  5. 如何去使用Python分析股票数据?学到就是赚
  6. 欧洲最大电商 Zalando 的微服务之道
  7. Wireshark分析艺术【读书总结】
  8. OpenTelemetry 简析
  9. 16 个好用的 Code Review 工具
  10. Kubernetes 稳定性保障手册 -- 可观测性