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

来源:互联网 发布:熊片数据库正式版 编辑:程序博客网 时间:2024/06/05 20:48

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 {@Overridepublic 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 0
原创粉丝点击