如果我尝试在Thread.sleep之前执行屏幕输出(Toast或setContentView),则在睡眠(或线程中的所有睡眠)之后才显示。这意味着,如果我在Thread.sleep之后执行输出,它将覆盖第一个输出。如果我在调用Thread.sleep之前在View上使用了forceLayout,那就不好了。看来Android会存储所有输出,并在程序末尾显示它们。如果我在PC上将这些代码作为简单的Java应用程序运行,则可以按预期运行。

最佳答案

您不应该在UI线程上执行sleep(),因为这会阻塞整个UI(如您所注意到的)。

如果希望在一定时间后发生某些事情,可以通过创建Handler并使用其postDelayed()方法来发布延迟的消息。

10-07 19:21
查看更多