java - android中20秒后终止无限循环

标签 java android time timer

我有一个无限的 for 循环,我想运行这个 for 循环 20 秒,然后我想终止循环,那么我该怎么办?

这是我在 android 中的代码:

do {
    rl += Character.toString((char) in.read());
    // Log.i("RL", "" + rl);
    if (rl.contains("<") && checkStream(rl)) {
        // Log.i("RL INSIDE", "" + rl);
        getNumerAndStatusFromRLString(rl);
        rl = "";
    }
    if (20 SECONDS COMPLETED) {
        Log.i("<rl>", "exit");
        break;
    }
} while (true);

那么我该怎么做才能检查 20 秒是否已完成,现在是时候终止了。

任何想法都会受到赞赏。

最佳答案

我认为其中一个选项可能是在循环之前获取时间,并在循环时检查是否经过了 20 秒。

如下所示:不确定效率。

   long startTime=   System.currentTimeMillis();
do {

......

     long currTime=  System.currentTimeMillis();
     long elapsedtime = currTime - startTime;
     if(elapsedtime > 20000)
      {
      break;
      }
}

关于java - android中20秒后终止无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12006922/

相关文章:

Android通知没有声音和振动

android - 在 glThread 上运行长任务而不阻塞 Android 上的 UI 线程

java - CompletableFuture 跨微服务(JVM)

java - SwingUtilities invokeLater 的主要目的

java - bash -c遇到参数麻烦

java - Android 自定义微调器,带图像选择功能

android - 如何从 GPS_PROVIDER 自动更改为 NETWORK_PROVIDER

java - 使用 currentTimeMillis 测量耗时返回 0

python - 计算代码运行 Python 的时间

python - python 时间模块是否足够可靠以用于测量响应时间?