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