欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

延迟执行某个任务

程序员文章站 2022-07-14 18:05:17
...

转自:android中延迟执行某个任务 - CSDN博客 http://blog.csdn.net/qinde025/article/details/6828723

android中延迟执行某个任务

android App开发在某些情况下需要有延时功能,比如说App首页显示定格3秒,然后自动跳到登录页的情况,这就好比是一个预加载,但是这个预加载可能瞬间就完成了,撑不到3秒钟,这是就要求你做延时处理。

下面是三种方法:

一、线程
  1. 1. new Thread(new Runnable(){    
  2. 2.     public void run(){    
  3. 3.         Thread.sleep(XXXX);    
  4. 4.         handler.sendMessage();—-告诉主线程执行任务    
  5. 5.     }    
  6. 6. }).start    
   1. new Thread(new Runnable(){  
   2.     public void run(){  
   3.         Thread.sleep(XXXX);  
   4.         handler.sendMessage();----告诉主线程执行任务  
   5.     }  
   6. }).start  
二、延时器
  1. 1. TimerTask task = new TimerTask(){    
  2. 2.     public void run(){    
  3. 3.     //execute the task     
  4. 4.     }    
  5. 5. };    
  6. 6. Timer timer = new Timer();  
  7.    timer.schedule(task, xxx);  
   1. TimerTask task = new TimerTask(){  
   2.     public void run(){  
   3.     //execute the task   
   4.     }  
   5. };  
   6. Timer timer = new Timer();
      timer.schedule(task, xxx);
三、android消息处理
  1. new Handler().postDelayed(new Runnable(){    
  2.     public void run() {    
  3.     //execute the task    
  4.     }    
  5.  }, delay);   
 new Handler().postDelayed(new Runnable(){  
     public void run() {  
     //execute the task  
     }  
  }, xxx); 

推荐使用第三种

android中延迟执行某个任务

android App开发在某些情况下需要有延时功能,比如说App首页显示定格3秒,然后自动跳到登录页的情况,这就好比是一个预加载,但是这个预加载可能瞬间就完成了,撑不到3秒钟,这是就要求你做延时处理。

下面是三种方法:

一、线程
  1. 1. new Thread(new Runnable(){    
  2. 2.     public void run(){    
  3. 3.         Thread.sleep(XXXX);    
  4. 4.         handler.sendMessage();—-告诉主线程执行任务    
  5. 5.     }    
  6. 6. }).start    
   1. new Thread(new Runnable(){  
   2.     public void run(){  
   3.         Thread.sleep(XXXX);  
   4.         handler.sendMessage();----告诉主线程执行任务  
   5.     }  
   6. }).start  
二、延时器
  1. 1. TimerTask task = new TimerTask(){    
  2. 2.     public void run(){    
  3. 3.     //execute the task     
  4. 4.     }    
  5. 5. };    
  6. 6. Timer timer = new Timer();  
  7.    timer.schedule(task, xxx);  
   1. TimerTask task = new TimerTask(){  
   2.     public void run(){  
   3.     //execute the task   
   4.     }  
   5. };  
   6. Timer timer = new Timer();
      timer.schedule(task, xxx);
三、android消息处理
  1. new Handler().postDelayed(new Runnable(){    
  2.     public void run() {    
  3.     //execute the task    
  4.     }    
  5.  }, delay);   
 new Handler().postDelayed(new Runnable(){  
     public void run() {  
     //execute the task  
     }  
  }, xxx); 

推荐使用第三种