在不冻结UI或运行程序的情况下延迟方法调用的最佳方法是什么?我希望每隔5秒在屏幕上显示圆圈,但在这5秒内,其他现有圆圈将改变大小,因此必须每隔5秒调用一次drawcircle方法,但其他代码也必须能够运行。
答案 0 :(得分:4)
使用Handler
:
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
@Override
public void run() {
//any delayed code
}
}, 5000);
使Runnable添加到消息队列中,在指定的时间量过后运行。 runnable将在连接此处理程序的线程上运行。时基以毫秒为单位,例如高于5000毫秒。
postDelayed
有两个参数:
答案 1 :(得分:2)
使用名为postDelayed
的Handler
方法。
有关详细信息,请阅读this。