Handler.postDelayed(可运行)与倒数计时器
Handler.postDelayed(Runnable) vs CountdownTimer
有时我们需要在代码运行之前延迟它。
Handler.postDelayed(Runnable)
或 CountdownTimer
可以做到这一点。
Which one is better in terms of performance?
查看下面的示例代码
处理程序
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//DO SOMETHING
}
}, 1000);
CountDownTimer
new CountDownTimer(1000, 1000) {
public void onFinish() {
//DO SOMETHING
}
public void onTick(long millisUntilFinished) {}
}.start();
Handler
应该会为您提供更好的性能,因为 CountDownTimer
本身包含一个 Handler
,如您所见 here。
使用处理程序,Android处理程序很好。
我同意 Handler 提供了更好的性能。但请注意,您应该记住 CountDownTimer 对象将在完成后被销毁。一个 Handler 完成后会继续存在。如果您只需要一个临时计时器,那么 CountDownTimer 更可取。否则,使用处理程序。
有时我们需要在代码运行之前延迟它。
Handler.postDelayed(Runnable)
或 CountdownTimer
可以做到这一点。
Which one is better in terms of performance?
查看下面的示例代码
处理程序
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//DO SOMETHING
}
}, 1000);
CountDownTimer
new CountDownTimer(1000, 1000) {
public void onFinish() {
//DO SOMETHING
}
public void onTick(long millisUntilFinished) {}
}.start();
Handler
应该会为您提供更好的性能,因为 CountDownTimer
本身包含一个 Handler
,如您所见 here。
使用处理程序,Android处理程序很好。
我同意 Handler 提供了更好的性能。但请注意,您应该记住 CountDownTimer 对象将在完成后被销毁。一个 Handler 完成后会继续存在。如果您只需要一个临时计时器,那么 CountDownTimer 更可取。否则,使用处理程序。