作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我必须使用 Java SWT 来实现弹出窗口。这些弹出窗口将以 100 毫秒的动画形式弹出。100ms 是边界,低于该边界用户会认为操作是立即发生的。
问题是:我应该为这个动画使用自己的线程吗?有人知道原生弹出窗口是如何实现的吗?
示例:我可以在 UI 线程上的动画步骤之间调用 sleep ,或者我可以在额外的线程上提取 sleep 。
for(int i=0; i<height; i+=10){
//change height here
Thread.sleep(10); //makes UI unresposible for 10 ms
}
问题是 - 在这么短的时间内使 UI 不负责任是否可以,还是应该在额外的线程上完成?
最佳答案
回答你的问题..我真的取决于你的应用程序的需求。不要在 UI 线程中执行任何长时间运行的进程(始终取决于“长”是什么),这始终是非常好的建议。
无论如何,它不会让你的 GUI 停止 10 毫秒,而是总共 100 毫秒。 SWT 中的 GUI 由 readAndDispatch()
方法驱动,因此在进行新调用之前,GUI 处于卡住状态(这就是为什么您必须使用 display.syncExec()
和首先是 displayAsyncExec()
方法)..
关于java - 使用自己的线程来实现带有短动画的弹出窗口?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14810836/
我是一名优秀的程序员,十分优秀!