安卓学习学习之鸿蒙&Android

Android中实现延时操作常见的几种方法

2021-07-10  本文已影响0人  i小灰

一、前言:

在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是一个引导页面,过了两三秒后,会自动跳转到主界面。这就是一个延时操作。
下面是实现延时执行操作的几种方法:

1. 使用线程的休眠实现延时操作(sleep会阻塞线程)

 new Thread() {
            @Override
            public void run() {
                super.run();
                Thread.sleep(3000);//休眠3秒
                /**
                 * 要执行的操作
                 */
                         }
        }.start();

2. 使用TimerTask实现延时操作

TimerTask task = new TimerTask() {
            @Override
            public void run() {
              /**
               *要执行的操作
               */
            }
        };
        Timer timer = new Timer();
        timer.schedule(task, 3000);//3秒后执行TimeTask的run方法

3. 使用Handler的postDelayed方法实现延时操作(postDelayed不会阻塞线程)

    new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
               /**
                *要执行的操作
                */
            }
        }, 3000);//3秒后执行Runna

测试:

   int i = 0;
   long delayMillis = 900000;
    while(i<13) {
          hanlder.postDelayed(runnable, delayMillis*i); 
             i++;
     }

此处postDelay不会阻塞线程,这里的意思是等待delayMillisi毫秒以后再将线程加入队列,但是程序后面代码依然会立即继续执行,而不是等待delayMillisi毫秒后再执行。

4. view的延时(任何view都可以延时,postDelayed不会阻塞线程)

   tvValue.postDelayed(new Runnable() {
            @Override
            public void run() {
                //执行操作
            }
        },3000);

上一篇下一篇

猜你喜欢

热点阅读