android开发中延迟执行任务方法

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

下面是三种方法:

一、线程

    new Thread(new Runnable(){  
       public void run(){  
            Thread.sleep(XXXX);  
           handler.sendMessage();----告诉主线程执行任务  
       }  
    }).start  

二、延时器
TimerTask task = new TimerTask(){    
     public void run(){    
     //execute the task     
     }    
. };    
 Timer timer = new Timer();  
   timer.schedule(task, delay); 

三、android Handler消息处理
    new Handler().postDelayed(new Runnable(){    
        public void run() {    
        //execute the task    
        }    
     }, delay);   
个人推荐使用第三种

===================================================

在android中,可以利用Handler类的postDelayed()方法进行延时,这有什么作用呢?比如,我们打开运用后显示一个主界面,延时3秒进入功能界面,这时候就可以用这个东西
	1.具体用法:
		1.1 定义一个类,实现Runnable接口,也就是开启一个线程,在run方法中实现我们的业务逻辑,这里是用意图去激活主界面(MainActivity)
			private class LoadMainActivity implements Runnable {
				@Override
				public void run() {
					// 用意图去激活主界面(MainActivity)
					Intent intent = new Intent(SplashActivity.this, MainActivity.class);
					startActivity(intent);
					// 关闭当前的splash界面
					finish();
				}
			}
		 1.2在我们当前的Activity适当的地方(根据业务需求来定,比如,判断网络可用的情况下打开主界面,这个时候就可以调用LoadMainActivity类)
		//代码片段如下:
		// 通过hander延时3秒执行某个任务(这里是打开主界面(MainActivity))
		//postDelayed(r, delayMillis);r表示一个线程的接口,用匿名内部类实现这个Runable接口,,如1.1中所示,delayMillis表示延时的时长
		new Handler().postDelayed(new LoadMainActivity(), 3000);

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值