我正在尝试将一些java代码移植到codenameone。部分代码使用java.util.Timer。虽然codenameone不支持Timer.purge()。有没有办法实现相同的功能?
答案 0 :(得分:0)
我实际上从未使用过该API,因此我必须检查它在JavaDocs中的作用:
从此计时器的任务队列中删除所有已取消的任务。打电话给这个 方法对计时器的行为没有影响,但是消除了 从队列中引用已取消的任务。如果没有 对这些任务的外部引用,它们就有资格获得垃圾 集合。
大多数程序都不需要调用此方法。它是专门设计的 供取消大量任务的罕见应用程序使用。 调用此方法会交换空间时间:方法的运行时 可以与n + c log n成比例,其中n是任务的数量 队列和c是已取消任务的数量。
我读这个方法的方法是不必要的。如果您需要取消这么多计时器,那么清除变得至关重要,您可能更愿意毕业使用可能更高效的线程。