Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android處理延時加載的方法

Android處理延時加載的方法

編輯:關於Android編程

在項目開發中,經常需要通過延時加載來實現滿足我們的項目要求。那到底怎樣來實現延時,下面結合java與android的相關方法來實現延時問題。


一.利用線程的Sleep方法

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

二. 利用Timer和TimerTask延時器

		// 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);
3.利用android自帶的Handler消息處理

		/**
		 * 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);
4.SchduleExecutorService接口處理延時 迭代

		/**
		 * 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;
		}




  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved