当前位置: 首页 > article >正文

Android 延时操作的常用方法

一、简介

在Android开发中我们可能会有延时执行某个操作的需求,例如我们启动应用的时候,一开始呈现的是引导页面,3秒后进入主界面,这就是一个延时操作。还有一种是执行某些接口任务时,需要有超时机制。下面介绍常用的几种方法。

二、常用方法介绍

2.1 使用线程的休眠实现延时操作
new Thread(new Runnable() {
      @Override
      public void run() {

        Thread.sleep(1000); // 休眠1秒

        /**
         * 延时执行的代码
         */

      }
    }).start();
2.2 使用TimerTask实现延时操作(java内部的计时器)
Timer timer = new Timer();
    timer.schedule(new TimerTask() {
      @Override
      public void run() {

        /**
         * 延时执行的代码
         */

      }
    },1000); // 延时1秒


timer.cancel()//取消执行
2.3 使用Handler的postDelayed()方法实现延时操作
new Handler().postDelayed(new Runnable() {
      @Override
      public void run() {

        /**
         * 延时执行的代码
         */

      }
    },1000); // 延时1秒


或者:
      val handler=Handler()
        val timeRunnable= Runnable { 
            
        }
        handler.postDelayed(timeRunnable,1000)//单位毫秒,延迟一秒执行
        handler.removeCallbacks(timeRunnable)//取消定时器执行

2.4 使用kotlin 的withTimeoutOrNull
      runBlocking {
          
                val timeOut = 1000

                val result = withTimeoutOrNull(timeOut.toLong()) {//timeOut.toLong()
                    //执行任务
                    "done"
                }

                if (result == null) {
                  //超时了
                }
             }


http://www.kler.cn/a/389109.html

相关文章:

  • 大数据 ETL + Flume 数据清洗 — 详细教程及实例(附常见问题及解决方案)
  • javascript 函数【知识点整理】
  • 智享AI 无人自动直播的崛起 ,引领智能互动与自动带货新潮流!
  • 【Android、IOS、Flutter、鸿蒙、ReactNative 】约束布局
  • Flink CDC(SQL Client)连接 MySQL 数据库教程
  • 35.3K+ Star!PhotoPrism:一款基于AI的开源照片管理工具
  • Linux软件包管理
  • 分布式——BASE理论
  • 【harbor】离线安装2.9.0-arm64架构服务制作和升级部署
  • Java:JVM
  • 解决:使用EasyExcel导入Excel模板时出现数据导入不进去的问题
  • React前端框架:现代网页开发的基石(附带构建简单任务管理应用案例代码)
  • 栈(Stack)和队列(Deque、Queue)
  • 16.useForm
  • (附源码)django仓库管理系统-计算机毕设 30542
  • Python数据分析中的Pandas去重操作详解
  • mysql备份数据库及恢复
  • Elasticsearch和Lucene之间是什么关系?(ChatGPT回答)
  • 小米面试:什么是线程池?工作原理是什么?线程池可以动态修改吗?
  • 【python】路径与文件管理:pathlib库的现代用法
  • 【WRF后处理】基于wrf-python处理wrf运行结果wrfout_d01
  • Linux:基本开发工具
  • 【go从零单排】Rate Limiting限流
  • 成都爱尔小儿眼科及视光团队多人当选“近视防控专家委员会委员”
  • CSS3_3D变换(七)
  • Vue CLI 脚手架