我想知道这两个类之间到底有什么区别,什么时候应该使用它们。
我问这个问题是因为我想知道以下示例代码:
mStatusChecker = new Runnable() {
@Override
public void run() {
invalidate();
mHandler.postDelayed(mStatuschecker, (long) increment * 1000);
}
};
如果将mHandler.postDelayed
代码行放在之前 invalidate()
,则Runnable
的执行速度几乎是原来的两倍。我想知道是否可以使用Timer
来解决此问题。
答案 0 :(得分:0)
计时器是线程用于计划任务以在将来的后台线程中执行的工具。可以安排任务一次执行或定期执行重复任务。
答案 1 :(得分:0)
如果您需要计时器功能(例如需要定期运行的任务),则最好使用用户计时器功能。
Java java.util.Timer是一个实用程序类,可用于安排 线程在将来的特定时间执行。 Java Timer类可以 用于计划一次运行或定期运行的任务 间隔。 Java Timer类是线程安全的,并且多个线程可以 共享一个Timer对象,而无需外部同步。
https://www.journaldev.com/1050/java-timer-timertask-example
答案 2 :(得分:0)
Timer
不是Android类,而是Android SDK中包含的Java SDK类,用于与旧代码兼容。它在Android组件的生命周期中无法很好地发挥作用,并且需要额外的代码才能与UI交互。简而言之,请勿在Android上使用Timer
。