gpt4 book ai didi

java - 如何在延时后执行某个方法?

转载 作者:行者123 更新时间:2023-11-29 21:11:13 29 4
gpt4 key购买 nike

我有一个这样的类 Render:

public class Render {
private Timer timer;
private TimerTask timerTask;


@Override
public void refresh() {
if (timerTask != null)
timerTask.cancel();
timerTask = new LoadTask();
timer.schedule(timerTask, 1000);
}

private class LoadTask extends TimerTask {
@Override
public void run() {
//request the server
}
}
}

refresh 方法可能会被调用的很频繁,但是refresh 里面要做的工作有点繁重,它必须向服务器请求一些东西,所以我试图让这个方法在延迟后执行。

但是如图所示,调用此方法后将创建一个新的 LoadTask 实例,这在 android 中是否浪费内存?

所以我想知道是否有解决办法?

最佳答案

你将尝试这个来延迟执行任务

    Handler handler = new Handler();
handler.postDelayed(new Runnable() {

@Override
public void run() {
//Your task it will execute at 1 time only...

}
}, 5000);//5 seconds delay and you can change the delay time...

它会像循环函数一样每隔 10 秒执行一次线程...

Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {

@Override
public void run() {
//Your logic it will repeating you task ever 10 seconds....

}
}, 5000, 5000);

关于java - 如何在延时后执行某个方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22757434/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com