美文网首页
Android 三种定时器

Android 三种定时器

作者: 树新蜜蜂 | 来源:发表于2019-10-08 15:20 被阅读0次

通过实际项目的练习,掌握了几种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毫秒</pre>





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();

相关文章

  • iOS内存管理(1)-CADisplayLink、NSTimer

    iOS中三种定时器CADisplayLink、NSTimer和GCD定时器,我们就详尽的讲解一下三种定时器.在讲解...

  • Android 三种定时器

    通过实际项目的练习,掌握了几种android基本定时器和延时的用法,这里我想总结一下作为自己的收获,下面列出的是比...

  • Timer 实现倒计时功能

    Android 定时器 在Android开发中有些任务是需要通过延时来完成的,这个时候就用到了定时器Timer

  • iOS中的定时器

    点击这里>> cocoaChina: iOS中的定时器 iOS中定时器有三种,分别是NSTimer、CADispl...

  • iOS:NSTimer的几种创建方式

    在iOS开发中,经常会用到定时器,iOS中常用的定时器有三种:NSTimer,GCD,CADisplayLink。...

  • Android四种定时器

    1. 第一次种定时器 2. 第二种定时器 3. 第三种定时器private void disanci() { 4....

  • iOS Timer

    iOS开发中定时器经常会用到,iOS中常用的定时器有三种,分别是NSTime,CADisplayLink和GCD。...

  • IOS 定时器总结

    转自: iOS中几种定时器 - 控制了时间,就控制了一切 定时器三种方法: NSTimerCADisplayLin...

  • iOS三大定时器

    iOS开发中定时器经常会用到,iOS中常用的定时器有三种,分别是NSTime,CADisplayLink和GCD。...

  • golang中三种定时器的实现方式及周期定时

    一、定时器的创建 golang中定时器有三种实现方式,分别是time.sleep、time.after、time....

网友评论

      本文标题:Android 三种定时器

      本文链接:https://www.haomeiwen.com/subject/zaytuctx.html