Android - 延迟方法调用

时间:2015-06-20 14:02:20

标签: android timertask delayed-execution

在不冻结UI或运行程序的情况下延迟方法调用的最佳方法是什么?我希望每隔5秒在屏幕上显示圆圈,但在这5秒内,其他现有圆圈将改变大小,因此必须每隔5秒调用一次drawcircle方法,但其他代码也必须能够运行。

2 个答案:

答案 0 :(得分:4)

使用Handler

Handler handler = new Handler();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    //any delayed code
                }
            }, 5000);

使Runnable添加到消息队列中,在指定的时间量过后运行。 runnable将在连接此处理程序的线程上运行。时基以毫秒为单位,例如高于5000毫秒。

postDelayed有两个参数:

  • 将执行的Runnable。
  • 执行Runnable之前的延迟(以毫秒为单位)。

答案 1 :(得分:2)

使用名为postDelayedHandler方法。

有关详细信息,请阅读this