码迷,mamicode.com
首页 > 移动开发 > 详细

Android处理延时加载的方法

时间:2014-08-07 23:09:55      阅读:351      评论:0      收藏:0      [点我收藏+]

标签:延时方法   timer   timertask   handler   scheduledexecutorser   

在项目开发中,经常需要通过延时加载来实现满足我们的项目要求。那到底怎样来实现延时,下面结合java与android的相关方法来实现延时问题。


一.利用线程的Sleep方法

<span style="font-family:Microsoft YaHei;font-size:18px;"><span style="white-space:pre">		</span>new Thread(new Runnable(){

			@Override
			public void run() {
				// TODO Auto-generated method stub
				try {
					Thread.sleep(1000);
					myHandler.sendEmptyMessage(what);//处理主线程方法
				} catch (InterruptedException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		});</span>

二. 利用Timer和TimerTask延时器

<span style="font-family:Microsoft YaHei;font-size:18px;"><span style="white-space:pre">		</span>// 1.实例化Timer
		Timer timer = new Timer();
		// 2.实例化TimerTask
		TimerTask timerTask = new TimerTask() {

			@Override
			public void run() {
				// TODO Auto-generated method stub

			}
		};
		// 3.启动定时器
		/**
		 * task: the task to schedule. 
		 * delay: amount of time in milliseconds before first execution. 
		 * period: amount of time in milliseconds between subsequent executions
		 */
		timer.schedule(timerTask, delay, period);

		// 4.关闭定时器
		if (timerTask != null) {
			timerTask.cancel();
			timerTask = null;
		}

		// 5.重新开启定时器,需要重新实例化

		timerTask = new TimerTask() {

			@Override
			public void run() {
				// TODO Auto-generated method stub

			}
		};
		timer.schedule(timerTask, delay, period);</span>
3.利用android自带的Handler消息处理

<span style="font-family:Microsoft YaHei;font-size:18px;">		/**
		 * delayMillis:The delay (in milliseconds) until the Runnable will be executed.
		 */
		new Handler().postDelayed(new Runnable(){

			@Override
			public void run() {
				// TODO Auto-generated method stub
				
			}
			
		}, delayMillis);</span>
4.SchduleExecutorService接口处理延时 迭代

<span style="font-family:Microsoft YaHei;font-size:18px;"><span style="white-space:pre">		</span>/**
		 * ScheduledExecutorService提供了按时间安排执行任务的功能,它提供的方法主要有:
		 * schedule(task,initDelay):安排所提交的Callable或Runnable任务在initDelay指定的时间后执行。
		 * scheduleAtFixedRate():安排所提交的Runnable任务按指定的间隔重复执行
		 * scheduleWithFixedDelay():安排所提交的Runnable任务在每次执行完后,等待delay所指定的时间后重复执行。
		 * 
		 * initialDelay: the time to delay first execution
		 * period: the period between successive executions
		 * unit: the time unit of the initialDelay and period parameters
		 */
		//1.实例化
		ScheduledExecutorService schedule = Executors.newScheduledThreadPool(2);
		//2.开启定时 循环迭代处理
		schedule.scheduleAtFixedRate(new Runnable(){

			@Override
			public void run() {
				// TODO Auto-generated method stub
				
			}
			
		}, initialDelay, period, unit);
		//3.关闭
		if(schedule != null){
			schedule.shutdown();
			schedule = null;
		}</span>




Android处理延时加载的方法,布布扣,bubuko.com

Android处理延时加载的方法

标签:延时方法   timer   timertask   handler   scheduledexecutorser   

原文地址:http://blog.csdn.net/a123demi/article/details/38425313

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!