Java Thread.sleep()是否使UI线程睡眠?
这会使当前UI线程休眠吗Java Thread.sleep()是否使UI线程睡眠?,java,android,multithreading,Java,Android,Multithreading,这会使当前UI线程休眠吗 try { Thread.sleep(20); onProgressUpdate(i); } catch (InterruptedException e) { e.printStackTrace(); } 仅当从UI线程调用时。那么,语言中的任何静态方法都可以在对象引用而不是类上调用。但这并不会改变功能:Thread.sleep()是一个静态方法,用于将当前线程置于睡眠状态。如果在ui线程上调用sleep,它会阻止ui线程。不要在ui线程上调
try
{
Thread.sleep(20);
onProgressUpdate(i);
} catch (InterruptedException e) {
e.printStackTrace();
}
仅当从UI线程调用时。那么,语言中的任何静态方法都可以在对象引用而不是类上调用。但这并不会改变功能:Thread.sleep()是一个静态方法,用于将当前线程置于睡眠状态。如果在ui线程上调用sleep,它会阻止ui线程。不要在ui线程上调用睡眠。您不应该阻止ui线程 你会得到一个 如果您实现了
线程
或句柄线程
,请确保在等待工作线程完成时UI线程没有阻塞,不要调用线程.wait()
或线程.sleep()
另请检查如何避免ANR线程下的主题。睡眠(时间)将使发送此消息的线程在给定的时间间隔内睡眠。因此,如果在UI线程中调用它,它将影响UI线程。就android而言,不建议以任何方式阻碍UI线程,否则将导致ANR应用程序不响应
您可以参考look here并添加一点,您不应该让ui线程处于休眠状态。您的应用程序将变得无响应,并询问用户是否要终止。