天天看點

android延時執行的幾種方式

  在項目中有很多的方法可能我們不需要立即執行,那麼就需要延時。 

  首先第一種就是線程: sleep會阻塞線程

   new Thread (new Runnable(){ 

     public void run(){ 

        Thread.sleep(time); 

        method();  //執行的方法 

      } 

   }) 

  第二種就是 定時器: 

   TimerTask task = new TimerTask(){ 

      public void run(){ 

         //method 

       } 

    } 

    Timer timer = new Timer(); 

    timer.schedule(task,delay); 

  第三種就是: postDelayed不會阻塞線程

    new Handler().postDelayed(new Runnable(){ 

      public void run(){ 

       //execute the task 

       } 

    },delay); 

例如如下代碼:                                 int i = 0;                                 long delayMillis = 900000;

                                 while(i<13)                                 {

                                     hanlder.postDelayed(runnable, delayMillis*i);                                      i++;

   第四種是 AlarmManager  一般的簡單任務不這麼做。