画布中的Thread.sleep

时间:2010-07-26 18:46:01

标签: java android

在代码中出现一定延迟后,我无法显示矩形。 这就是我正在做的事情

DashPathEffect dashPath = new DashPathEffect(new float [] {1,0},1);

        paint.setPathEffect(dashPath);
        paint.setStrokeWidth(300);
        final int  size =300;

canvas.drawLine(0,size,100,size,paint);

尝试{

            Thread.sleep(4000, 0);
        } catch (InterruptedException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

canvas.drawLine(110,size,200,size,paint);


我无法注意到移动屏幕中这两个矩形之间有任何延迟。两者都出现在同一时间。我所要做的就是一个接一个地绘制矩形,中间有一些延迟。这段代码正在做的是,等待4秒然后同时显示两个矩形。谢谢。

1 个答案:

答案 0 :(得分:1)

你永远不应该在UI线程中睡觉。如您所见,这会导致整个程序锁定并等待睡眠完成。

相反,在这种情况下,您可能希望研究使用处理程序。有关如何执行此操作的完整说明,请参阅timed ui-updates