【发布时间】:2017-05-23 11:41:08
【问题描述】:
我有这样的简单可运行对象
private Runnable runnable = new Runnable()
{
@Override
public void run()
{
someVariable = true;
}
};
我将它与 Handler 一起使用并像这样延迟
handler.postDelayed(runnable, 60000);
如果这个功能被垃圾邮件发送并且上面被重复调用,它会向消息队列添加多次运行。
如果是这种情况,是否在添加另一个之前先检查消息队列中是否有一个?
【问题讨论】:
-
我不了解Android,所以不知道有没有更好的方法,如果没有,那么你可以使用全局
AtomicInteger来保持你自己的实例数正在排队。run()方法的第一行可以递减计数,每次postDelayed(...)时都可以递增计数。 (或者不,如果计数已经太高。)
标签: java android multithreading handler runnable