Android处理延时加载的方法

在项目开发中,经常需要通过延时加载来实现满足我们的项目要求。那到底怎样来实现延时,下面结合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

时间: 2024-10-27 01:15:31

Android处理延时加载的方法的相关文章

关于图片延时加载(jQuery.lazyload),影响百度搜索引擎抓取图片

昨天,SEO小帅哥告诉我说:我加的这个延时加载(jQuery.lazyload)不行啊,影响优化呢!然后我一本正经的回了句,好好,我马上改(谁叫优化这方面他是老大呢)! 我用的是jQuery.lazyload这个插件,园子里也有好多介绍这个插件的,我就不细说了.我去网上看了好多关于延时加载的方法,都是先把真实图片路径“藏起来”,用个小图代替,然后滚动(或者一系列事件)之后就替换成真实图片路径,这样优化的时候根本抓取不到图片,那怎么办呢?!. 我想了两种办法: 1.图片前面加个a链接,a链接里放图

iOS 延时加载

这里列举了四种线程延时加载的方法, 1.performSelector方法 此方法必须在主线程中执行,并不是阻塞当前的线程 [self performSelector:@selector(delayMethod) withObject:nil afterDelay:1.0f]; 2.定时器:NSTimer,也必须在主线程中加载,是一种非阻塞的执行方式 [NSTimer scheduledTimerWithTimeInterval:1.0f target:self selector:@select

New UI-&lt;ViewStub&gt;标签延时加载布局

New UI-<ViewStub>标签延时加载布局  --转载请注明出处:coder-pig,欢迎转载,请勿用于商业用途! 小猪Android开发交流群已建立,欢迎大家加入,无论是新手,菜鸟,大神都可以,小猪一个人的 力量毕竟是有限的,写出来的东西肯定会有很多纰漏不足,欢迎大家指出,集思广益,让小猪的博文 更加的详尽,帮到更多的人,O(∩_∩)O谢谢! 小猪Android开发交流群:小猪Android开发交流群群号:421858269 新Android UI实例大全目录:http://blog

IOS开发中如何解决TableView中图片延时加载

经常我们会用tableView显示很多条目, 有时候需要显示图片, 但是一次从服务器上取来所有图片对用户来浪费流量, 对服务器也是负担.最好是按需加载,即当该用户要浏览该条目时再去加载它的图片. - (void)tableView:(UITableView *)tableView willDisplayCell:(UITableViewCell *)cell forRowAtIndexPath:(NSIndexPath *)indexPath { UIImage *image = [self g

【转】Android类动态加载技术

http://www.blogjava.net/zh-weir/archive/2011/10/29/362294.html Android应用开发在一般情况下,常规的开发方式和代码架构就能满足我们的普通需求.但是有些特殊问题,常常引发我们进一步的沉思.我们从沉思中产生顿悟,从而产生新的技术形式. 如何开发一个可以自定义控件的Android应用?就像eclipse一样,可以动态加载插件:如何让Android应用执行服务器上的不可预知的代码?如何对Android应用加密,而只在执行时自解密,从而防

android Listview分批加载+自动加载(附源码下载)

直接上代码,代码有注释: public class TestForListviewActivity extends Activity implements OnScrollListener { private ListView mListview = null; private View mFooterView; private PaginationAdapter mAdapter; private Handler handler=new Handler(); private boolean i

Rhythmk 学习 Hibernate 03 - Hibernate 之 延时加载 以及 ID 生成策略

Hibernate 加载数据 有get,跟Load 1.懒加载: 使用session.load(type,id)获取对象,并不读取数据库,只有在使用返回对象值才正真去查询数据库. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 @Test    public void  test1()    {        Session session = null;         try {             session = Hiber

图片--Android有效解决加载大图片时内存溢出的问题

Android有效解决加载大图片时内存溢出的问题 博客分类: Android Android游戏虚拟机算法JNI 尽量不要使用setImageBitmap或setImageResource或BitmapFactory.decodeResource来设置一张大图,因为这些函数在完成decode后,最终都是通过java层的createBitmap来完成的,需要消耗更多内存. 因此,改用先通过BitmapFactory.decodeStream方法,创建出一个bitmap,再将其设为ImageView

Android图片异步加载之Android-Universal-Image-Loader

将近一个月没有更新博客了,由于这段时间以来准备毕业论文等各种事务缠身,一直没有时间和精力沉下来继续学习和整理一些东西.最近刚刚恢复到正轨,正好这两天看了下Android上关于图片异步加载的开源项目,就顺便整理记录下来,作为这一个多月来博客的重新开火做饭吧.从今天起我会陆续恢复博客的更新,也希望大家继续支持. 今天要介绍的是Github上一个使用非常广泛的图片异步加载库Android-Universal-Image-Loader,该项目的功能十分强大,可以说是我见过的目前功能最全.性能最优的图片异