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

Android中Handler延迟执行、定时任务

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

android项目中经常会用到延迟操作,定时任务。做此记录

1、通过handler执行延时操作

new Handler().postDelayed(new Runnable(){  
            public void run() { 
                   //TODO
            } 
        }, 5000);   //5秒

2、定时任务,间隔固定时间执行某项操作

final Handler handler = new Handler(); 
Runnable runnable = new Runnable(){ 
	@Override 
	public void run() { 
			// TODO 在此处添加执行的代码 
			handler.postDelayed(this, 50);// 50是延时时长 
		} 
	}; 
handler.postDelayed(runnable, 50);// 打开定时器,执行操作 
handler.removeCallbacks(runnable);// 关闭定时器处理

3、定时任务,间隔固定时间执行某项操作后关闭定时任务

final Handler handler = new Handler(); 
int runCount = 0;// 全局变量,用于判断是否是第一次执行 
Runnable runnable = new Runnable(){ 
		@Override 
		public void run() { 
			// TODO Auto-generated method stub 
			if(runCount == 1){// 第一次执行则关闭定时执行操作 
				// TODO 在此处添加执行的代码 
				handler.removeCallbacks(this); 
		} 
		handler.postDelayed(this, 50); 
		runCount++; 
	} 
}; 
handler.postDelayed(runnable, 50);// 打开定时器,执行操作