java - 尝试以特定时间间隔运行线路

标签 java android

所以我想知道在java中是否有一种方法可以在特定时间间隔内运行一行。我目前正在开发一个 Android 应用程序,并尝试在同一行上运行几秒钟。

提前谢谢您。

最佳答案

检查它们,然后选择最适合您的:

Timer ScheduledExecutorService

我认为 Timer 更适合这种情况。

<小时/>

计时器 - 示例:

Timer timer = new Timer();
TimerTask task = new TimerTask()
{
    @Override
    public void run()
    {
        method();
    }
};
// every 3 seconds
timer.schedule(task, 0, 3000);
<小时/>

ScheduledExecutorService - Android 文档中的示例:

Here is a class with a method that sets up a ScheduledExecutorService to beep every ten seconds for an hour:

 import static java.util.concurrent.TimeUnit.*;
 class BeeperControl {
   private final ScheduledExecutorService scheduler =
     Executors.newScheduledThreadPool(1);

   public void beepForAnHour() {
     final Runnable beeper = new Runnable() {
       public void run() { System.out.println("beep"); 
     };
     final ScheduledFuture beeperHandle =
       scheduler.scheduleAtFixedRate(beeper, 10, 10, SECONDS);
     scheduler.schedule(new Runnable() {
       public void run() { beeperHandle.cancel(true); }
     }, 60 * 60, SECONDS);
   }
 }}

所有这些都会创建一个线程,这样您就不会阻塞 UI 线程。

关于java - 尝试以特定时间间隔运行线路,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22513474/

相关文章:

android - 在对话框中使用 ViewPager 的最佳做法是什么

java - 接收来自特征的通知

android webRTC接收没有音频的调用

java - 使泛型数组返回与其传递的参数类型相同的数组

java - 关于时间戳的格式

java - 日志消息 : Default buffer size used in BufferedInputStream constructor.

android - 错误 : Supplied String module notation 'androidx.cardview.widget.CardView' is invalid

android - 传递自定义对象数组 + Android

java - 从文本文件中读取并查找字符串

java - JTable-绘制单元格中的内容(文本)