美文网首页安卓学习学习之鸿蒙&Android
Android中实现延时操作常见的几种方法

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

作者: i小灰 | 来源:发表于2021-07-10 01:33 被阅读0次

    一、前言:

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

    相关文章

      网友评论

        本文标题:Android中实现延时操作常见的几种方法

        本文链接:https://www.haomeiwen.com/subject/newoiktx.html